diff options
author | Michael P | 2011-07-05 03:16:11 +0000 |
---|---|---|
committer | Michael P | 2011-07-06 03:40:35 +0000 |
commit | 0bbfc1e6338b5d98d6cb83fa75f2c38f527d4d4b (patch) | |
tree | 46fa412a31d08ea6e53d488ae7bc231df0b273da /contrib/btree_gist/btree_numeric.c | |
parent | 091b0e828cf0fd5bbd1f9ae58ab96fc983e55d77 (diff) | |
parent | a4bebdd92624e018108c2610fc3f2c1584b6c687 (diff) |
Merge commit 'a4bebdd92624e018108c2610fc3f2c1584b6c687' into master
This is the commit merge of Postgres-XC with the intersection of
PostgreSQL REL9_1_STABLE and master branches.
Conflicts:
COPYRIGHT
contrib/pgbench/pgbench.c
src/Makefile
src/backend/access/transam/recovery.conf.sample
src/backend/access/transam/varsup.c
src/backend/access/transam/xlog.c
src/backend/catalog/Makefile
src/backend/catalog/dependency.c
src/backend/catalog/system_views.sql
src/backend/commands/copy.c
src/backend/commands/explain.c
src/backend/commands/sequence.c
src/backend/commands/tablecmds.c
src/backend/commands/vacuum.c
src/backend/executor/nodeAgg.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/nodes/outfuncs.c
src/backend/nodes/readfuncs.c
src/backend/optimizer/path/allpaths.c
src/backend/optimizer/plan/createplan.c
src/backend/optimizer/plan/setrefs.c
src/backend/parser/gram.y
src/backend/parser/parse_utilcmd.c
src/backend/postmaster/postmaster.c
src/backend/rewrite/rewriteHandler.c
src/backend/storage/lmgr/proc.c
src/backend/tcop/postgres.c
src/backend/utils/adt/ruleutils.c
src/backend/utils/init/postinit.c
src/backend/utils/misc/guc.c
src/backend/utils/misc/postgresql.conf.sample
src/backend/utils/sort/tuplesort.c
src/bin/initdb/initdb.c
src/bin/pg_ctl/pg_ctl.c
src/bin/pg_dump/pg_dump.c
src/include/access/xlog.h
src/include/catalog/catversion.h
src/include/catalog/indexing.h
src/include/catalog/pg_aggregate.h
src/include/catalog/pg_proc.h
src/include/commands/copy.h
src/include/nodes/parsenodes.h
src/include/nodes/primnodes.h
src/include/optimizer/pathnode.h
src/include/parser/kwlist.h
src/include/storage/procarray.h
src/test/regress/expected/.gitignore
src/test/regress/expected/aggregates.out
src/test/regress/expected/alter_table.out
src/test/regress/expected/bit.out
src/test/regress/expected/box.out
src/test/regress/expected/delete.out
src/test/regress/expected/float4.out
src/test/regress/expected/float8.out
src/test/regress/expected/int2.out
src/test/regress/expected/int8.out
src/test/regress/expected/interval.out
src/test/regress/expected/numeric.out
src/test/regress/expected/point.out
src/test/regress/expected/polygon.out
src/test/regress/expected/sequence.out
src/test/regress/expected/timestamp.out
src/test/regress/expected/timestamptz.out
src/test/regress/expected/transactions.out
src/test/regress/expected/window.out
src/test/regress/input/misc.source
src/test/regress/output/create_misc_1.source
src/test/regress/output/misc.source
src/test/regress/sql/aggregates.sql
src/test/regress/sql/alter_table.sql
src/test/regress/sql/bit.sql
src/test/regress/sql/box.sql
src/test/regress/sql/delete.sql
src/test/regress/sql/domain.sql
src/test/regress/sql/float4.sql
src/test/regress/sql/float8.sql
src/test/regress/sql/int2.sql
src/test/regress/sql/int8.sql
src/test/regress/sql/interval.sql
src/test/regress/sql/lseg.sql
src/test/regress/sql/numeric.sql
src/test/regress/sql/path.sql
src/test/regress/sql/point.sql
src/test/regress/sql/polygon.sql
src/test/regress/sql/portals.sql
src/test/regress/sql/sequence.sql
src/test/regress/sql/timestamp.sql
src/test/regress/sql/timestamptz.sql
src/test/regress/sql/transactions.sql
src/test/regress/sql/window.sql
src/test/regress/sql/with.sql
Diffstat (limited to 'contrib/btree_gist/btree_numeric.c')
-rw-r--r-- | contrib/btree_gist/btree_numeric.c | 58 |
1 files changed, 36 insertions, 22 deletions
diff --git a/contrib/btree_gist/btree_numeric.c b/contrib/btree_gist/btree_numeric.c index 810bb279da..e962c6dd32 100644 --- a/contrib/btree_gist/btree_numeric.c +++ b/contrib/btree_gist/btree_numeric.c @@ -1,5 +1,5 @@ /* - * $PostgreSQL: pgsql/contrib/btree_gist/btree_numeric.c,v 1.13 2009/06/11 14:48:50 momjian Exp $ + * contrib/btree_gist/btree_numeric.c */ #include "btree_gist.h" @@ -32,41 +32,51 @@ Datum gbt_numeric_same(PG_FUNCTION_ARGS); /* define for comparison */ static bool -gbt_numeric_gt(const void *a, const void *b) +gbt_numeric_gt(const void *a, const void *b, Oid collation) { - return (DatumGetBool(DirectFunctionCall2(numeric_gt, PointerGetDatum(a), PointerGetDatum(b)))); + return DatumGetBool(DirectFunctionCall2(numeric_gt, + PointerGetDatum(a), + PointerGetDatum(b))); } static bool -gbt_numeric_ge(const void *a, const void *b) +gbt_numeric_ge(const void *a, const void *b, Oid collation) { - return (DatumGetBool(DirectFunctionCall2(numeric_ge, PointerGetDatum(a), PointerGetDatum(b)))); + return DatumGetBool(DirectFunctionCall2(numeric_ge, + PointerGetDatum(a), + PointerGetDatum(b))); } static bool -gbt_numeric_eq(const void *a, const void *b) +gbt_numeric_eq(const void *a, const void *b, Oid collation) { - return (DatumGetBool(DirectFunctionCall2(numeric_eq, PointerGetDatum(a), PointerGetDatum(b)))); + return DatumGetBool(DirectFunctionCall2(numeric_eq, + PointerGetDatum(a), + PointerGetDatum(b))); } static bool -gbt_numeric_le(const void *a, const void *b) +gbt_numeric_le(const void *a, const void *b, Oid collation) { - return (DatumGetBool(DirectFunctionCall2(numeric_le, PointerGetDatum(a), PointerGetDatum(b)))); + return DatumGetBool(DirectFunctionCall2(numeric_le, + PointerGetDatum(a), + PointerGetDatum(b))); } static bool -gbt_numeric_lt(const void *a, const void *b) +gbt_numeric_lt(const void *a, const void *b, Oid collation) { - return (DatumGetBool(DirectFunctionCall2(numeric_lt, PointerGetDatum(a), PointerGetDatum(b)))); + return DatumGetBool(DirectFunctionCall2(numeric_lt, + PointerGetDatum(a), + PointerGetDatum(b))); } - static int32 -gbt_numeric_cmp(const bytea *a, const bytea *b) +gbt_numeric_cmp(const void *a, const void *b, Oid collation) { - return - (DatumGetInt32(DirectFunctionCall2(numeric_cmp, PointerGetDatum(a), PointerGetDatum(b)))); + return DatumGetInt32(DirectFunctionCall2(numeric_cmp, + PointerGetDatum(a), + PointerGetDatum(b))); } @@ -116,7 +126,8 @@ gbt_numeric_consistent(PG_FUNCTION_ARGS) /* All cases served by this function are exact */ *recheck = false; - retval = gbt_var_consistent(&r, query, &strategy, GIST_LEAF(entry), &tinfo); + retval = gbt_var_consistent(&r, query, strategy, PG_GET_COLLATION(), + GIST_LEAF(entry), &tinfo); PG_RETURN_BOOL(retval); } @@ -128,7 +139,8 @@ gbt_numeric_union(PG_FUNCTION_ARGS) GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0); int32 *size = (int *) PG_GETARG_POINTER(1); - PG_RETURN_POINTER(gbt_var_union(entryvec, size, &tinfo)); + PG_RETURN_POINTER(gbt_var_union(entryvec, size, PG_GET_COLLATION(), + &tinfo)); } @@ -139,7 +151,8 @@ gbt_numeric_same(PG_FUNCTION_ARGS) Datum d2 = PG_GETARG_DATUM(1); bool *result = (bool *) PG_GETARG_POINTER(2); - PG_RETURN_POINTER(gbt_var_same(result, d1, d2, &tinfo)); + *result = gbt_var_same(d1, d2, PG_GET_COLLATION(), &tinfo); + PG_RETURN_POINTER(result); } @@ -163,7 +176,7 @@ gbt_numeric_penalty(PG_FUNCTION_ARGS) rk = gbt_var_key_readable(org); uni = PointerGetDatum(gbt_var_key_copy(&rk, TRUE)); - gbt_var_bin_union(&uni, newe, &tinfo); + gbt_var_bin_union(&uni, newe, PG_GET_COLLATION(), &tinfo); ok = gbt_var_key_readable(org); uk = gbt_var_key_readable((GBT_VARKEY *) DatumGetPointer(uni)); @@ -185,9 +198,9 @@ gbt_numeric_penalty(PG_FUNCTION_ARGS) NumericGetDatum(os) )); - if (NUMERIC_IS_NAN(us)) + if (numeric_is_nan(us)) { - if (NUMERIC_IS_NAN(os)) + if (numeric_is_nan(os)) *result = 0.0; else *result = 1.0; @@ -224,6 +237,7 @@ gbt_numeric_picksplit(PG_FUNCTION_ARGS) GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0); GIST_SPLITVEC *v = (GIST_SPLITVEC *) PG_GETARG_POINTER(1); - gbt_var_picksplit(entryvec, v, &tinfo); + gbt_var_picksplit(entryvec, v, PG_GET_COLLATION(), + &tinfo); PG_RETURN_POINTER(v); } |