diff options
author | Pavan Deolasee | 2011-05-20 15:06:06 +0000 |
---|---|---|
committer | Pavan Deolasee | 2011-05-20 15:06:06 +0000 |
commit | f65ae81fa4c6436093915410222dc962ec657b33 (patch) | |
tree | a7aa88a822cda01d1447ef46c68f369b7f81ff64 /src/backend/utils/adt/enum.c | |
parent | 9bf28d03c9ca4f8a791b5e455f77b39d092dfa6c (diff) | |
parent | 1084f317702e1a039696ab8a37caf900e55ec8f2 (diff) |
Merge commit '1084f317702e1a039696ab8a37caf900e55ec8f2' into int-pgxc
Merge 9.0 PostgreSQL release into PGXC. Resolve conflicts thrown by git
and fix some issues raised during compilation. We still don't compile fine
at this point, but we should have resolved many conflicts to make further
progress.
Some of the changes in the regression tests are merged to reflect whats
there in 9.0 release. Those are easy to fix later when we run regressions
Conflicts:
contrib/Makefile
contrib/pgbench/pgbench.c
src/Makefile
src/backend/Makefile
src/backend/access/transam/varsup.c
src/backend/catalog/Makefile
src/backend/catalog/dependency.c
src/backend/catalog/genbki.sh
src/backend/commands/dbcommands.c
src/backend/commands/explain.c
src/backend/commands/vacuum.c
src/backend/executor/execMain.c
src/backend/executor/execProcnode.c
src/backend/executor/execTuples.c
src/backend/parser/analyze.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/ipc/procarray.c
src/backend/storage/lmgr/proc.c
src/backend/tcop/postgres.c
src/backend/tcop/utility.c
src/backend/utils/cache/relcache.c
src/backend/utils/init/postinit.c
src/backend/utils/misc/guc.c
src/bin/pg_ctl/pg_ctl.c
src/include/Makefile
src/include/access/twophase.h
src/include/bootstrap/bootstrap.h
src/include/catalog/catversion.h
src/include/catalog/dependency.h
src/include/catalog/indexing.h
src/include/catalog/pg_proc.h
src/include/nodes/nodes.h
src/include/storage/lwlock.h
src/include/storage/proc.h
src/include/storage/procarray.h
src/include/utils/lsyscache.h
src/test/regress/expected/delete.out
src/test/regress/expected/float4.out
src/test/regress/expected/float8.out
src/test/regress/expected/geometry.out
src/test/regress/expected/join.out
src/test/regress/expected/point.out
src/test/regress/expected/rowtypes.out
src/test/regress/expected/timestamp.out
src/test/regress/expected/timestamptz.out
src/test/regress/expected/tsearch.out
src/test/regress/sql/numeric.sql
src/test/regress/sql/point.sql
Diffstat (limited to 'src/backend/utils/adt/enum.c')
-rw-r--r-- | src/backend/utils/adt/enum.c | 42 |
1 files changed, 17 insertions, 25 deletions
diff --git a/src/backend/utils/adt/enum.c b/src/backend/utils/adt/enum.c index 009c6c3f92..9000d1ca16 100644 --- a/src/backend/utils/adt/enum.c +++ b/src/backend/utils/adt/enum.c @@ -3,11 +3,11 @@ * enum.c * I/O functions, operators, aggregates etc for enum types * - * Copyright (c) 2006-2009, PostgreSQL Global Development Group + * Copyright (c) 2006-2010, PostgreSQL Global Development Group * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/adt/enum.c,v 1.7 2009/01/01 17:23:49 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/enum.c,v 1.11 2010/02/26 02:01:08 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -45,10 +45,9 @@ enum_in(PG_FUNCTION_ARGS) format_type_be(enumtypoid), name))); - tup = SearchSysCache(ENUMTYPOIDNAME, - ObjectIdGetDatum(enumtypoid), - CStringGetDatum(name), - 0, 0); + tup = SearchSysCache2(ENUMTYPOIDNAME, + ObjectIdGetDatum(enumtypoid), + CStringGetDatum(name)); if (!HeapTupleIsValid(tup)) ereport(ERROR, (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION), @@ -56,6 +55,10 @@ enum_in(PG_FUNCTION_ARGS) format_type_be(enumtypoid), name))); + /* + * This comes from pg_enum.oid and stores system oids in user tables. This + * oid must be preserved by binary upgrades. + */ enumoid = HeapTupleGetOid(tup); ReleaseSysCache(tup); @@ -71,9 +74,7 @@ enum_out(PG_FUNCTION_ARGS) HeapTuple tup; Form_pg_enum en; - tup = SearchSysCache(ENUMOID, - ObjectIdGetDatum(enumval), - 0, 0, 0); + tup = SearchSysCache1(ENUMOID, ObjectIdGetDatum(enumval)); if (!HeapTupleIsValid(tup)) ereport(ERROR, (errcode(ERRCODE_INVALID_BINARY_REPRESENTATION), @@ -109,10 +110,9 @@ enum_recv(PG_FUNCTION_ARGS) format_type_be(enumtypoid), name))); - tup = SearchSysCache(ENUMTYPOIDNAME, - ObjectIdGetDatum(enumtypoid), - CStringGetDatum(name), - 0, 0); + tup = SearchSysCache2(ENUMTYPOIDNAME, + ObjectIdGetDatum(enumtypoid), + CStringGetDatum(name)); if (!HeapTupleIsValid(tup)) ereport(ERROR, (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION), @@ -137,9 +137,7 @@ enum_send(PG_FUNCTION_ARGS) HeapTuple tup; Form_pg_enum en; - tup = SearchSysCache(ENUMOID, - ObjectIdGetDatum(enumval), - 0, 0, 0); + tup = SearchSysCache1(ENUMOID, ObjectIdGetDatum(enumval)); if (!HeapTupleIsValid(tup)) ereport(ERROR, (errcode(ERRCODE_INVALID_BINARY_REPRESENTATION), @@ -265,9 +263,7 @@ enum_first(PG_FUNCTION_ARGS) (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("could not determine actual enum type"))); - list = SearchSysCacheList(ENUMTYPOIDNAME, 1, - ObjectIdGetDatum(enumtypoid), - 0, 0, 0); + list = SearchSysCacheList1(ENUMTYPOIDNAME, ObjectIdGetDatum(enumtypoid)); num = list->n_members; for (i = 0; i < num; i++) { @@ -306,9 +302,7 @@ enum_last(PG_FUNCTION_ARGS) (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("could not determine actual enum type"))); - list = SearchSysCacheList(ENUMTYPOIDNAME, 1, - ObjectIdGetDatum(enumtypoid), - 0, 0, 0); + list = SearchSysCacheList1(ENUMTYPOIDNAME, ObjectIdGetDatum(enumtypoid)); num = list->n_members; for (i = 0; i < num; i++) { @@ -389,9 +383,7 @@ enum_range_internal(Oid enumtypoid, Oid lower, Oid upper) j; Datum *elems; - list = SearchSysCacheList(ENUMTYPOIDNAME, 1, - ObjectIdGetDatum(enumtypoid), - 0, 0, 0); + list = SearchSysCacheList1(ENUMTYPOIDNAME, ObjectIdGetDatum(enumtypoid)); total = list->n_members; elems = (Datum *) palloc(total * sizeof(Datum)); |