rpms/sepostgresql/F-12 .cvsignore, 1.16, 1.17 sepostgresql-8.4.patch, 1.3, 1.4 sepostgresql.spec, 1.44, 1.45 sources, 1.13, 1.14

KaiGai Kohei kaigai at fedoraproject.org
Wed Dec 16 13:38:53 UTC 2009


Author: kaigai

Update of /cvs/pkgs/rpms/sepostgresql/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11778

Modified Files:
	.cvsignore sepostgresql-8.4.patch sepostgresql.spec sources 
Log Message:
upgrade base version 8.4.1->8.4.2



Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/sepostgresql/F-12/.cvsignore,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -p -r1.16 -r1.17
--- .cvsignore	11 Sep 2009 10:40:19 -0000	1.16
+++ .cvsignore	16 Dec 2009 13:38:53 -0000	1.17
@@ -1 +1 @@
-postgresql-8.4.1.tar.bz2
+postgresql-8.4.2.tar.bz2

sepostgresql-8.4.patch:
 configure                                                          |  113 
 configure.in                                                       |   13 
 src/Makefile.global.in                                             |    1 
 src/backend/Makefile                                               |    7 
 src/backend/access/common/heaptuple.c                              |   15 
 src/backend/access/common/tupdesc.c                                |    6 
 src/backend/access/heap/heapam.c                                   |   12 
 src/backend/access/heap/tuptoaster.c                               |   12 
 src/backend/access/transam/xact.c                                  |   26 
 src/backend/bootstrap/bootparse.y                                  |   11 
 src/backend/bootstrap/bootstrap.c                                  |   20 
 src/backend/catalog/Makefile                                       |    4 
 src/backend/catalog/aclchk.c                                       |   25 
 src/backend/catalog/catalog.c                                      |    6 
 src/backend/catalog/dependency.c                                   |   35 
 src/backend/catalog/heap.c                                         |   89 
 src/backend/catalog/index.c                                        |    6 
 src/backend/catalog/namespace.c                                    |   33 
 src/backend/catalog/pg_aggregate.c                                 |    3 
 src/backend/catalog/pg_conversion.c                                |    4 
 src/backend/catalog/pg_largeobject.c                               |    7 
 src/backend/catalog/pg_namespace.c                                 |    4 
 src/backend/catalog/pg_operator.c                                  |   17 
 src/backend/catalog/pg_proc.c                                      |   14 
 src/backend/catalog/pg_security.c                                  |  637 ++
 src/backend/catalog/pg_shdepend.c                                  |    6 
 src/backend/catalog/pg_type.c                                      |   20 
 src/backend/catalog/toasting.c                                     |   10 
 src/backend/commands/aggregatecmds.c                               |    4 
 src/backend/commands/alter.c                                       |   29 
 src/backend/commands/cluster.c                                     |   11 
 src/backend/commands/conversioncmds.c                              |   12 
 src/backend/commands/copy.c                                        |  268 
 src/backend/commands/dbcommands.c                                  |   95 
 src/backend/commands/foreigncmds.c                                 |   23 
 src/backend/commands/functioncmds.c                                |   92 
 src/backend/commands/indexcmds.c                                   |    4 
 src/backend/commands/lockcmds.c                                    |    4 
 src/backend/commands/opclasscmds.c                                 |   44 
 src/backend/commands/operatorcmds.c                                |    3 
 src/backend/commands/proclang.c                                    |   21 
 src/backend/commands/schemacmds.c                                  |   65 
 src/backend/commands/sequence.c                                    |   16 
 src/backend/commands/tablecmds.c                                   |  248 
 src/backend/commands/trigger.c                                     |    9 
 src/backend/commands/tsearchcmds.c                                 |   54 
 src/backend/commands/typecmds.c                                    |   13 
 src/backend/commands/view.c                                        |    4 
 src/backend/executor/execJunk.c                                    |    5 
 src/backend/executor/execMain.c                                    |  140 
 src/backend/executor/execQual.c                                    |    3 
 src/backend/executor/execScan.c                                    |   24 
 src/backend/executor/execTuples.c                                  |   14 
 src/backend/executor/execUtils.c                                   |    6 
 src/backend/executor/functions.c                                   |    6 
 src/backend/executor/nodeAgg.c                                     |    4 
 src/backend/executor/nodeMergejoin.c                               |    2 
 src/backend/executor/nodeSubplan.c                                 |    4 
 src/backend/executor/nodeWindowAgg.c                               |    4 
 src/backend/executor/spi.c                                         |    2 
 src/backend/libpq/be-fsstubs.c                                     |   68 
 src/backend/nodes/copyfuncs.c                                      |   22 
 src/backend/nodes/equalfuncs.c                                     |   19 
 src/backend/nodes/outfuncs.c                                       |    4 
 src/backend/optimizer/plan/createplan.c                            |    3 
 src/backend/optimizer/util/clauses.c                               |    3 
 src/backend/optimizer/util/relnode.c                               |    2 
 src/backend/parser/analyze.c                                       |   46 
 src/backend/parser/gram.y                                          |  106 
 src/backend/parser/parse_target.c                                  |   63 
 src/backend/parser/parse_utilcmd.c                                 |    3 
 src/backend/postmaster/autovacuum.c                                |    2 
 src/backend/postmaster/postmaster.c                                |   51 
 src/backend/rewrite/rewriteDefine.c                                |    4 
 src/backend/rewrite/rewriteRemove.c                                |    4 
 src/backend/security/Makefile                                      |   13 
 src/backend/security/rowlevel.c                                    |  121 
 src/backend/security/sepgsql/Makefile                              |   16 
 src/backend/security/sepgsql/avc.c                                 |  881 +++
 src/backend/security/sepgsql/bridge.c                              | 2876 ++++++++++
 src/backend/security/sepgsql/checker.c                             |  424 +
 src/backend/security/sepgsql/dummy.c                               |   79 
 src/backend/security/sepgsql/hooks.c                               |  239 
 src/backend/security/sepgsql/label.c                               | 1140 +++
 src/backend/security/sepgsql/misc.c                                |  304 +
 src/backend/security/sepgsql/perms.c                               |  597 ++
 src/backend/security/sepgsql/policy/Makefile                       |   28 
 src/backend/security/sepgsql/policy/sepostgresql-devel.fc.template |   12 
 src/backend/security/sepgsql/policy/sepostgresql-devel.te          |  123 
 src/backend/storage/file/fd.c                                      |    7 
 src/backend/storage/ipc/ipci.c                                     |    2 
 src/backend/storage/large_object/inv_api.c                         |  118 
 src/backend/tcop/fastpath.c                                        |    3 
 src/backend/tcop/pquery.c                                          |    2 
 src/backend/tcop/utility.c                                         |   36 
 src/backend/utils/adt/genfile.c                                    |    6 
 src/backend/utils/adt/ri_triggers.c                                |   18 
 src/backend/utils/adt/tid.c                                        |    4 
 src/backend/utils/adt/trigfuncs.c                                  |    4 
 src/backend/utils/cache/plancache.c                                |    9 
 src/backend/utils/cache/relcache.c                                 |   22 
 src/backend/utils/cache/syscache.c                                 |   26 
 src/backend/utils/fmgr/dfmgr.c                                     |    7 
 src/backend/utils/fmgr/fmgr.c                                      |    2 
 src/backend/utils/init/postinit.c                                  |    9 
 src/backend/utils/misc/guc.c                                       |   27 
 src/backend/utils/misc/postgresql.conf.sample                      |    4 
 src/backend/utils/misc/superuser.c                                 |   10 
 src/bin/initdb/initdb.c                                            |   13 
 src/bin/pg_dump/pg_dump.c                                          |  150 
 src/bin/pg_dump/pg_dump.h                                          |    2 
 src/bin/pg_dump/pg_dumpall.c                                       |   72 
 src/include/access/htup.h                                          |   32 
 src/include/access/sysattr.h                                       |   14 
 src/include/access/tupdesc.h                                       |    1 
 src/include/bootstrap/bootstrap.h                                  |    3 
 src/include/catalog/dependency.h                                   |    3 
 src/include/catalog/heap.h                                         |   11 
 src/include/catalog/indexing.h                                     |    5 
 src/include/catalog/pg_attribute.h                                 |    4 
 src/include/catalog/pg_conversion_fn.h                             |    2 
 src/include/catalog/pg_namespace.h                                 |    2 
 src/include/catalog/pg_proc.h                                      |   21 
 src/include/catalog/pg_proc_fn.h                                   |    3 
 src/include/catalog/pg_security.h                                  |  101 
 src/include/catalog/toasting.h                                     |    3 
 src/include/commands/alter.h                                       |    1 
 src/include/commands/dbcommands.h                                  |    1 
 src/include/commands/defrem.h                                      |    1 
 src/include/commands/schemacmds.h                                  |    1 
 src/include/commands/tablecmds.h                                   |    3 
 src/include/executor/executor.h                                    |    7 
 src/include/executor/tuptable.h                                    |    1 
 src/include/libpq/be-fsstubs.h                                     |    3 
 src/include/nodes/nodes.h                                          |    1 
 src/include/nodes/parsenodes.h                                     |   18 
 src/include/nodes/plannodes.h                                      |    7 
 src/include/nodes/relation.h                                       |    9 
 src/include/pg_config.h.in                                         |    3 
 src/include/security/rowlevel.h                                    |   44 
 src/include/security/sepgsql.h                                     |  777 ++
 src/include/storage/fd.h                                           |    1 
 src/include/storage/large_object.h                                 |    3 
 src/include/storage/lwlock.h                                       |    1 
 src/include/storage/proc.h                                         |    4 
 src/include/utils/errcodes.h                                       |    5 
 src/include/utils/syscache.h                                       |    2 
 src/test/regress/GNUmakefile                                       |    8 
 src/test/regress/expected/sanity_check.out                         |    3 
 src/test/regress/pg_regress.c                                      |    9 
 150 files changed, 10633 insertions(+), 3 deletions(-), 677 modifications(!)

Index: sepostgresql-8.4.patch
===================================================================
RCS file: /cvs/pkgs/rpms/sepostgresql/F-12/sepostgresql-8.4.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -p -r1.3 -r1.4
--- sepostgresql-8.4.patch	8 Dec 2009 05:59:39 -0000	1.3
+++ sepostgresql-8.4.patch	16 Dec 2009 13:38:53 -0000	1.4
@@ -1,6 +1,6 @@
 diff -Nrpc base/configure sepgsql/configure
-*** base/configure	Sun Sep  6 19:40:49 2009
---- sepgsql/configure	Sun Sep  6 19:53:10 2009
+*** base/configure	Tue Dec 15 17:16:51 2009
+--- sepgsql/configure	Tue Dec 15 17:30:25 2009
 *************** with_libxml
 *** 710,715 ****
 --- 710,716 ----
@@ -189,8 +189,8 @@ diff -Nrpc base/configure sepgsql/config
     elif $ac_last_try; then
       { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
 diff -Nrpc base/configure.in sepgsql/configure.in
-*** base/configure.in	Sun Sep  6 19:40:49 2009
---- sepgsql/configure.in	Sun Sep  6 19:53:10 2009
+*** base/configure.in	Tue Dec 15 17:16:51 2009
+--- sepgsql/configure.in	Tue Dec 15 17:30:25 2009
 *************** PGAC_ARG_BOOL(with, zlib, yes,
 *** 764,769 ****
 --- 764,782 ----
@@ -227,8 +227,8 @@ diff -Nrpc base/src/Makefile.global.in s
   enable_thread_safety	= @enable_thread_safety@
   
 diff -Nrpc base/src/backend/Makefile sepgsql/src/backend/Makefile
-*** base/src/backend/Makefile	Sat Jan  3 13:01:35 2009
---- sepgsql/src/backend/Makefile	Wed Jul 15 19:35:52 2009
+*** base/src/backend/Makefile	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/backend/Makefile	Tue Dec 15 17:30:25 2009
 *************** include $(top_builddir)/src/Makefile.glo
 *** 16,22 ****
   
@@ -247,8 +247,8 @@ diff -Nrpc base/src/backend/Makefile sep
   include $(srcdir)/common.mk
   
 *************** LIBS := $(filter-out -lpgport, $(LIBS)) 
-*** 34,39 ****
---- 34,44 ----
+*** 40,45 ****
+--- 40,50 ----
   # The backend doesn't need everything that's in LIBS, however
   LIBS := $(filter-out -lz -lreadline -ledit -ltermcap -lncurses -lcurses, $(LIBS))
   
@@ -498,8 +498,8 @@ diff -Nrpc base/src/backend/access/heap/
   
   		/*
 diff -Nrpc base/src/backend/access/transam/xact.c sepgsql/src/backend/access/transam/xact.c
-*** base/src/backend/access/transam/xact.c	Thu Jun 18 10:20:52 2009
---- sepgsql/src/backend/access/transam/xact.c	Sun Sep  6 19:31:39 2009
+*** base/src/backend/access/transam/xact.c	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/backend/access/transam/xact.c	Tue Dec 15 17:30:25 2009
 ***************
 *** 36,41 ****
 --- 36,43 ----
@@ -515,7 +515,7 @@ diff -Nrpc base/src/backend/access/trans
 *** 140,145 ****
 --- 142,148 ----
   	Oid			prevUser;		/* previous CurrentUserId setting */
-  	bool		prevSecDefCxt;	/* previous SecurityDefinerContext setting */
+  	int			prevSecContext;	/* previous SecurityRestrictionContext */
   	bool		prevXactReadOnly;		/* entry-time xact r/o state */
 + 	int			prevRowlv;		/* previous Row-level control behavior */
   	struct TransactionStateData *parent;		/* back link to parent */
@@ -525,7 +525,7 @@ diff -Nrpc base/src/backend/access/trans
 *** 168,173 ****
 --- 171,177 ----
   	InvalidOid,					/* previous CurrentUserId setting */
-  	false,						/* previous SecurityDefinerContext setting */
+  	0,							/* previous SecurityRestrictionContext */
   	false,						/* entry-time xact r/o state */
 + 	ROWLV_FILTER_MODE,			/* previous Row-level control behavior */
   	NULL						/* link to parent state block */
@@ -536,15 +536,15 @@ diff -Nrpc base/src/backend/access/trans
 --- 1528,1534 ----
   	s->nChildXids = 0;
   	s->maxChildXids = 0;
-  	GetUserIdAndContext(&s->prevUser, &s->prevSecDefCxt);
+  	GetUserIdAndSecContext(&s->prevUser, &s->prevSecContext);
 + 	s->prevRowlv = rowlvGetPerformingMode();
-  	/* SecurityDefinerContext should never be set outside a transaction */
-  	Assert(!s->prevSecDefCxt);
+  	/* SecurityRestrictionContext should never be set outside a transaction */
+  	Assert(s->prevSecContext == 0);
   
 *************** AbortTransaction(void)
-*** 2030,2035 ****
---- 2035,2050 ----
-  	SetUserIdAndContext(s->prevUser, s->prevSecDefCxt);
+*** 2031,2036 ****
+--- 2036,2051 ----
+  	SetUserIdAndSecContext(s->prevUser, s->prevSecContext);
   
   	/*
 + 	 * Reset behavior of row-level access controls
@@ -561,9 +561,9 @@ diff -Nrpc base/src/backend/access/trans
   	 */
   	AfterTriggerEndXact(false);
 *************** AbortSubTransaction(void)
-*** 3873,3878 ****
---- 3888,3903 ----
-  	SetUserIdAndContext(s->prevUser, s->prevSecDefCxt);
+*** 3874,3879 ****
+--- 3889,3904 ----
+  	SetUserIdAndSecContext(s->prevUser, s->prevSecContext);
   
   	/*
 + 	 * Reset behavior of row-level access controls
@@ -580,10 +580,10 @@ diff -Nrpc base/src/backend/access/trans
   	 * ResourceOwner...
   	 */
 *************** PushTransaction(void)
-*** 4014,4019 ****
---- 4039,4045 ----
+*** 4015,4020 ****
+--- 4040,4046 ----
   	s->blockState = TBLOCK_SUBBEGIN;
-  	GetUserIdAndContext(&s->prevUser, &s->prevSecDefCxt);
+  	GetUserIdAndSecContext(&s->prevUser, &s->prevSecContext);
   	s->prevXactReadOnly = XactReadOnly;
 + 	s->prevRowlv = rowlvGetPerformingMode();
   
@@ -920,8 +920,8 @@ diff -Nrpc base/src/backend/catalog/cata
   		relationId == PgShdescriptionToastIndex)
   		return true;
 diff -Nrpc base/src/backend/catalog/dependency.c sepgsql/src/backend/catalog/dependency.c
-*** base/src/backend/catalog/dependency.c	Sun Sep  6 19:40:49 2009
---- sepgsql/src/backend/catalog/dependency.c	Thu Sep 17 23:44:07 2009
+*** base/src/backend/catalog/dependency.c	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/backend/catalog/dependency.c	Tue Dec 15 17:30:25 2009
 ***************
 *** 63,68 ****
 --- 63,69 ----
@@ -1045,7 +1045,7 @@ diff -Nrpc base/src/backend/catalog/depe
   
   	/* And clean up */
 *************** reportDependentObjects(const ObjectAddre
-*** 942,954 ****
+*** 943,955 ****
    * depRel is the already-open pg_depend relation.
    */
   static void
@@ -1059,7 +1059,7 @@ diff -Nrpc base/src/backend/catalog/depe
   	/*
   	 * First remove any pg_depend records that link from this object to
   	 * others.	(Any records linking to this object should be gone already.)
---- 957,973 ----
+--- 958,974 ----
    * depRel is the already-open pg_depend relation.
    */
   static void
@@ -1435,8 +1435,8 @@ diff -Nrpc base/src/backend/catalog/heap
   
   
 diff -Nrpc base/src/backend/catalog/index.c sepgsql/src/backend/catalog/index.c
-*** base/src/backend/catalog/index.c	Thu Jun 18 10:20:52 2009
---- sepgsql/src/backend/catalog/index.c	Fri Sep 18 17:02:48 2009
+*** base/src/backend/catalog/index.c	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/backend/catalog/index.c	Tue Dec 15 17:30:25 2009
 ***************
 *** 48,53 ****
 --- 48,54 ----
@@ -1448,7 +1448,7 @@ diff -Nrpc base/src/backend/catalog/inde
   #include "storage/lmgr.h"
   #include "storage/procarray.h"
 *************** AppendAttributeTuples(Relation indexRela
-*** 351,357 ****
+*** 352,358 ****
   		Assert(indexTupDesc->attrs[i]->attnum == i + 1);
   		Assert(indexTupDesc->attrs[i]->attcacheoff == -1);
   
@@ -1456,7 +1456,7 @@ diff -Nrpc base/src/backend/catalog/inde
   	}
   
   	CatalogCloseIndexes(indstate);
---- 352,359 ----
+--- 353,360 ----
   		Assert(indexTupDesc->attrs[i]->attnum == i + 1);
   		Assert(indexTupDesc->attrs[i]->attcacheoff == -1);
   
@@ -1466,7 +1466,7 @@ diff -Nrpc base/src/backend/catalog/inde
   
   	CatalogCloseIndexes(indstate);
 *************** index_create(Oid heapRelationId,
-*** 652,658 ****
+*** 653,659 ****
   	 */
   	InsertPgClassTuple(pg_class, indexRelation,
   					   RelationGetRelid(indexRelation),
@@ -1474,7 +1474,7 @@ diff -Nrpc base/src/backend/catalog/inde
   
   	/* done with pg_class */
   	heap_close(pg_class, RowExclusiveLock);
---- 654,660 ----
+--- 655,661 ----
   	 */
   	InsertPgClassTuple(pg_class, indexRelation,
   					   RelationGetRelid(indexRelation),
@@ -1861,8 +1861,8 @@ diff -Nrpc base/src/backend/catalog/pg_o
   		operatorObjectId = simple_heap_insert(pg_operator_desc, tup);
   	}
 diff -Nrpc base/src/backend/catalog/pg_proc.c sepgsql/src/backend/catalog/pg_proc.c
-*** base/src/backend/catalog/pg_proc.c	Thu Jun 18 10:20:52 2009
---- sepgsql/src/backend/catalog/pg_proc.c	Fri Sep 18 17:39:46 2009
+*** base/src/backend/catalog/pg_proc.c	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/backend/catalog/pg_proc.c	Tue Dec 15 17:30:25 2009
 ***************
 *** 29,34 ****
 --- 29,35 ----
@@ -1892,8 +1892,8 @@ diff -Nrpc base/src/backend/catalog/pg_p
   	Oid			retval;
   	int			parameterCount;
 *************** ProcedureCreate(const char *procedureNam
-*** 96,101 ****
---- 98,104 ----
+*** 97,102 ****
+--- 99,105 ----
   	Datum		values[Natts_pg_proc];
   	bool		replaces[Natts_pg_proc];
   	Oid			relid;
@@ -1902,8 +1902,8 @@ diff -Nrpc base/src/backend/catalog/pg_p
   	TupleDesc	tupDesc;
   	bool		is_update;
 *************** ProcedureCreate(const char *procedureNam
-*** 343,348 ****
---- 346,356 ----
+*** 344,349 ****
+--- 347,357 ----
   							ObjectIdGetDatum(procNamespace),
   							0);
   
@@ -1916,8 +1916,8 @@ diff -Nrpc base/src/backend/catalog/pg_p
   	{
   		/* There is one; okay to replace it? */
 *************** ProcedureCreate(const char *procedureNam
-*** 477,482 ****
---- 485,492 ----
+*** 481,486 ****
+--- 489,496 ----
   
   		/* Okay, do it... */
   		tup = heap_modify_tuple(oldtup, tupDesc, values, nulls, replaces);
@@ -1927,8 +1927,8 @@ diff -Nrpc base/src/backend/catalog/pg_p
   
   		ReleaseSysCache(oldtup);
 *************** ProcedureCreate(const char *procedureNam
-*** 486,491 ****
---- 496,503 ----
+*** 490,495 ****
+--- 500,507 ----
   	{
   		/* Creating a new procedure */
   		tup = heap_form_tuple(tupDesc, values, nulls);
@@ -4690,8 +4690,8 @@ diff -Nrpc base/src/backend/commands/pro
   		memset(repl_repl, false, sizeof(repl_repl));
   
 diff -Nrpc base/src/backend/commands/schemacmds.c sepgsql/src/backend/commands/schemacmds.c
-*** base/src/backend/commands/schemacmds.c	Thu Jun 18 10:20:52 2009
---- sepgsql/src/backend/commands/schemacmds.c	Thu Sep 17 17:04:16 2009
+*** base/src/backend/commands/schemacmds.c	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/backend/commands/schemacmds.c	Tue Dec 15 17:30:25 2009
 ***************
 *** 25,30 ****
 --- 25,31 ----
@@ -4709,7 +4709,7 @@ diff -Nrpc base/src/backend/commands/sch
   	Oid			owner_uid;
   	Oid			saved_uid;
 + 	Oid			nspsecid;
-  	bool		saved_secdefcxt;
+  	int			save_sec_context;
   	AclResult	aclresult;
   
 *************** CreateSchemaCommand(CreateSchemaStmt *st
@@ -4726,16 +4726,16 @@ diff -Nrpc base/src/backend/commands/sch
   	if (!allowSystemTableMods && IsReservedName(schemaName))
   		ereport(ERROR,
 *************** CreateSchemaCommand(CreateSchemaStmt *st
-*** 94,100 ****
-  		SetUserIdAndContext(owner_uid, true);
+*** 95,101 ****
+  							   save_sec_context | SECURITY_LOCAL_USERID_CHANGE);
   
   	/* Create the schema's namespace */
 ! 	namespaceId = NamespaceCreate(schemaName, owner_uid);
   
   	/* Advance cmd counter to make the namespace visible */
   	CommandCounterIncrement();
---- 100,106 ----
-  		SetUserIdAndContext(owner_uid, true);
+--- 101,107 ----
+  							   save_sec_context | SECURITY_LOCAL_USERID_CHANGE);
   
   	/* Create the schema's namespace */
 ! 	namespaceId = NamespaceCreate(schemaName, owner_uid, nspsecid);
@@ -4743,7 +4743,7 @@ diff -Nrpc base/src/backend/commands/sch
   	/* Advance cmd counter to make the namespace visible */
   	CommandCounterIncrement();
 *************** RenameSchema(const char *oldname, const 
-*** 267,274 ****
+*** 268,275 ****
   				 errmsg("schema \"%s\" does not exist", oldname)));
   
   	/* make sure the new name doesn't exist */
@@ -4752,7 +4752,7 @@ diff -Nrpc base/src/backend/commands/sch
   										CStringGetDatum(newname),
   										0, 0, 0)))
   		ereport(ERROR,
---- 273,279 ----
+--- 274,280 ----
   				 errmsg("schema \"%s\" does not exist", oldname)));
   
   	/* make sure the new name doesn't exist */
@@ -4761,8 +4761,8 @@ diff -Nrpc base/src/backend/commands/sch
   										0, 0, 0)))
   		ereport(ERROR,
 *************** RenameSchema(const char *oldname, const 
-*** 286,291 ****
---- 291,299 ----
+*** 287,292 ****
+--- 292,300 ----
   		aclcheck_error(aclresult, ACL_KIND_DATABASE,
   					   get_database_name(MyDatabaseId));
   
@@ -4773,8 +4773,8 @@ diff -Nrpc base/src/backend/commands/sch
   		ereport(ERROR,
   				(errcode(ERRCODE_RESERVED_NAME),
 *************** AlterSchemaOwner_internal(HeapTuple tup,
-*** 397,402 ****
---- 405,413 ----
+*** 398,403 ****
+--- 406,414 ----
   			aclcheck_error(aclresult, ACL_KIND_DATABASE,
   						   get_database_name(MyDatabaseId));
   
@@ -4785,8 +4785,8 @@ diff -Nrpc base/src/backend/commands/sch
   		memset(repl_repl, false, sizeof(repl_repl));
   
 *************** AlterSchemaOwner_internal(HeapTuple tup,
-*** 431,433 ****
---- 442,492 ----
+*** 432,434 ****
+--- 443,493 ----
   	}
   
   }
@@ -4921,8 +4921,8 @@ diff -Nrpc base/src/backend/commands/seq
   	seq = read_info(elm, seqrel, &buf);
   
 diff -Nrpc base/src/backend/commands/tablecmds.c sepgsql/src/backend/commands/tablecmds.c
-*** base/src/backend/commands/tablecmds.c	Sun Sep  6 19:40:49 2009
---- sepgsql/src/backend/commands/tablecmds.c	Thu Oct  8 09:29:32 2009
+*** base/src/backend/commands/tablecmds.c	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/backend/commands/tablecmds.c	Tue Dec 15 17:30:25 2009
 ***************
 *** 62,67 ****
 --- 62,68 ----
@@ -4963,8 +4963,8 @@ diff -Nrpc base/src/backend/commands/tab
   	AttrNumber	attnum;
   	static char *validnsps[] = HEAP_RELOPT_NAMESPACES;
 *************** DefineRelation(CreateStmt *stmt, char re
-*** 444,449 ****
---- 446,461 ----
+*** 454,459 ****
+--- 456,471 ----
   	localHasOids = interpretOidsOption(stmt->options);
   	descriptor->tdhasoid = (localHasOids || parentOidCount > 0);
   
@@ -4982,7 +4982,7 @@ diff -Nrpc base/src/backend/commands/tab
   	 * Find columns with default values and prepare for insertion of the
   	 * defaults.  Pre-cooked (that is, inherited) defaults go into a list of
 *************** DefineRelation(CreateStmt *stmt, char re
-*** 513,519 ****
+*** 523,529 ****
   										  parentOidCount,
   										  stmt->oncommit,
   										  reloptions,
@@ -4990,7 +4990,7 @@ diff -Nrpc base/src/backend/commands/tab
   
   	StoreCatalogInheritance(relationId, inheritOids);
   
---- 525,532 ----
+--- 535,542 ----
   										  parentOidCount,
   										  stmt->oncommit,
   										  reloptions,
@@ -5000,8 +5000,8 @@ diff -Nrpc base/src/backend/commands/tab
   	StoreCatalogInheritance(relationId, inheritOids);
   
 *************** ExecuteTruncate(TruncateStmt *stmt)
-*** 887,892 ****
---- 900,907 ----
+*** 897,902 ****
+--- 910,917 ----
   				if (!pg_class_ownercheck(seq_relid, GetUserId()))
   					aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_CLASS,
   								   RelationGetRelationName(seq_rel));
@@ -5011,8 +5011,8 @@ diff -Nrpc base/src/backend/commands/tab
   				seq_relids = lappend_oid(seq_relids, seq_relid);
   
 *************** truncate_check_rel(Relation rel)
-*** 1042,1047 ****
---- 1057,1065 ----
+*** 1052,1057 ****
+--- 1067,1075 ----
   				 errmsg("permission denied: \"%s\" is a system catalog",
   						RelationGetRelationName(rel))));
   
@@ -5023,8 +5023,8 @@ diff -Nrpc base/src/backend/commands/tab
   	 * We can never allow truncation of shared or nailed-in-cache relations,
   	 * because we can't support changing their relfilenode values.
 *************** MergeAttributes(List *schema, List *supe
-*** 1216,1221 ****
---- 1234,1241 ----
+*** 1226,1231 ****
+--- 1244,1251 ----
   		if (!pg_class_ownercheck(RelationGetRelid(relation), GetUserId()))
   			aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_CLASS,
   						   RelationGetRelationName(relation));
@@ -5034,8 +5034,8 @@ diff -Nrpc base/src/backend/commands/tab
   		/*
   		 * Reject duplications in the list of parents.
 *************** renameatt(Oid myrelid,
-*** 1921,1926 ****
---- 1941,1949 ----
+*** 1931,1936 ****
+--- 1951,1959 ----
   				 errmsg("cannot rename system column \"%s\"",
   						oldattname)));
   
@@ -5046,8 +5046,8 @@ diff -Nrpc base/src/backend/commands/tab
   	 * if the attribute is inherited, forbid the renaming, unless we are
   	 * already inside a recursive rename.
 *************** RenameRelation(Oid myrelid, const char *
-*** 2026,2031 ****
---- 2049,2057 ----
+*** 2036,2041 ****
+--- 2059,2067 ----
   	Oid			namespaceId;
   	char		relkind;
   
@@ -5058,7 +5058,7 @@ diff -Nrpc base/src/backend/commands/tab
   	 * Grab an exclusive lock on the target table, index, sequence or view,
   	 * which we will NOT release until end of transaction.
 *************** ATPrepCmd(List **wqueue, Relation rel, A
-*** 2359,2372 ****
+*** 2369,2382 ****
   	switch (cmd->subtype)
   	{
   		case AT_AddColumn:		/* ADD COLUMN */
@@ -5073,7 +5073,7 @@ diff -Nrpc base/src/backend/commands/tab
   			/* Performs own recursion */
   			ATPrepAddColumn(wqueue, rel, recurse, cmd);
   			pass = AT_PASS_ADD_COL;
---- 2385,2398 ----
+--- 2395,2408 ----
   	switch (cmd->subtype)
   	{
   		case AT_AddColumn:		/* ADD COLUMN */
@@ -5089,7 +5089,7 @@ diff -Nrpc base/src/backend/commands/tab
   			ATPrepAddColumn(wqueue, rel, recurse, cmd);
   			pass = AT_PASS_ADD_COL;
 *************** ATPrepCmd(List **wqueue, Relation rel, A
-*** 2379,2397 ****
+*** 2389,2407 ****
   			 * substitutes default values into INSERTs before it expands
   			 * rules.
   			 */
@@ -5109,7 +5109,7 @@ diff -Nrpc base/src/backend/commands/tab
   			ATSimpleRecursion(wqueue, rel, cmd, recurse);
   			/* No command-specific prep needed */
   			pass = AT_PASS_ADD_CONSTR;
---- 2405,2423 ----
+--- 2415,2433 ----
   			 * substitutes default values into INSERTs before it expands
   			 * rules.
   			 */
@@ -5130,7 +5130,7 @@ diff -Nrpc base/src/backend/commands/tab
   			/* No command-specific prep needed */
   			pass = AT_PASS_ADD_CONSTR;
 *************** ATPrepCmd(List **wqueue, Relation rel, A
-*** 2403,2415 ****
+*** 2413,2425 ****
   			pass = AT_PASS_COL_ATTRS;
   			break;
   		case AT_SetStorage:		/* ALTER COLUMN STORAGE */
@@ -5144,7 +5144,7 @@ diff -Nrpc base/src/backend/commands/tab
   			/* Recursion occurs during execution phase */
   			/* No command-specific prep needed except saving recurse flag */
   			if (recurse)
---- 2429,2441 ----
+--- 2439,2451 ----
   			pass = AT_PASS_COL_ATTRS;
   			break;
   		case AT_SetStorage:		/* ALTER COLUMN STORAGE */
@@ -5159,7 +5159,7 @@ diff -Nrpc base/src/backend/commands/tab
   			/* No command-specific prep needed except saving recurse flag */
   			if (recurse)
 *************** ATPrepCmd(List **wqueue, Relation rel, A
-*** 2417,2429 ****
+*** 2427,2439 ****
   			pass = AT_PASS_DROP;
   			break;
   		case AT_AddIndex:		/* ADD INDEX */
@@ -5173,7 +5173,7 @@ diff -Nrpc base/src/backend/commands/tab
   			/* Recursion occurs during execution phase */
   			/* No command-specific prep needed except saving recurse flag */
   			if (recurse)
---- 2443,2455 ----
+--- 2453,2465 ----
   			pass = AT_PASS_DROP;
   			break;
   		case AT_AddIndex:		/* ADD INDEX */
@@ -5188,7 +5188,7 @@ diff -Nrpc base/src/backend/commands/tab
   			/* No command-specific prep needed except saving recurse flag */
   			if (recurse)
 *************** ATPrepCmd(List **wqueue, Relation rel, A
-*** 2431,2437 ****
+*** 2441,2447 ****
   			pass = AT_PASS_ADD_CONSTR;
   			break;
   		case AT_DropConstraint:	/* DROP CONSTRAINT */
@@ -5196,7 +5196,7 @@ diff -Nrpc base/src/backend/commands/tab
   			/* Recursion occurs during execution phase */
   			/* No command-specific prep needed except saving recurse flag */
   			if (recurse)
---- 2457,2463 ----
+--- 2467,2473 ----
   			pass = AT_PASS_ADD_CONSTR;
   			break;
   		case AT_DropConstraint:	/* DROP CONSTRAINT */
@@ -5205,7 +5205,7 @@ diff -Nrpc base/src/backend/commands/tab
   			/* No command-specific prep needed except saving recurse flag */
   			if (recurse)
 *************** ATPrepCmd(List **wqueue, Relation rel, A
-*** 2439,2445 ****
+*** 2449,2455 ****
   			pass = AT_PASS_DROP;
   			break;
   		case AT_AlterColumnType:		/* ALTER COLUMN TYPE */
@@ -5213,7 +5213,7 @@ diff -Nrpc base/src/backend/commands/tab
   			/* Performs own recursion */
   			ATPrepAlterColumnType(wqueue, tab, rel, recurse, recursing, cmd);
   			pass = AT_PASS_ALTER_TYPE;
---- 2465,2471 ----
+--- 2475,2481 ----
   			pass = AT_PASS_DROP;
   			break;
   		case AT_AlterColumnType:		/* ALTER COLUMN TYPE */
@@ -5222,7 +5222,7 @@ diff -Nrpc base/src/backend/commands/tab
   			ATPrepAlterColumnType(wqueue, tab, rel, recurse, recursing, cmd);
   			pass = AT_PASS_ALTER_TYPE;
 *************** ATPrepCmd(List **wqueue, Relation rel, A
-*** 2451,2470 ****
+*** 2461,2480 ****
   			break;
   		case AT_ClusterOn:		/* CLUSTER ON */
   		case AT_DropCluster:	/* SET WITHOUT CLUSTER */
@@ -5243,7 +5243,7 @@ diff -Nrpc base/src/backend/commands/tab
   			/* Performs own recursion */
   			if (rel->rd_rel->relhasoids)
   			{
---- 2477,2496 ----
+--- 2487,2506 ----
   			break;
   		case AT_ClusterOn:		/* CLUSTER ON */
   		case AT_DropCluster:	/* SET WITHOUT CLUSTER */
@@ -5265,7 +5265,7 @@ diff -Nrpc base/src/backend/commands/tab
   			if (rel->rd_rel->relhasoids)
   			{
 *************** ATPrepCmd(List **wqueue, Relation rel, A
-*** 2478,2491 ****
+*** 2488,2501 ****
   			pass = AT_PASS_DROP;
   			break;
   		case AT_SetTableSpace:	/* SET TABLESPACE */
@@ -5280,7 +5280,7 @@ diff -Nrpc base/src/backend/commands/tab
   			/* This command never recurses */
   			/* No command-specific prep needed */
   			pass = AT_PASS_MISC;
---- 2504,2517 ----
+--- 2514,2527 ----
   			pass = AT_PASS_DROP;
   			break;
   		case AT_SetTableSpace:	/* SET TABLESPACE */
@@ -5296,7 +5296,7 @@ diff -Nrpc base/src/backend/commands/tab
   			/* No command-specific prep needed */
   			pass = AT_PASS_MISC;
 *************** ATPrepCmd(List **wqueue, Relation rel, A
-*** 2504,2510 ****
+*** 2514,2520 ****
   		case AT_DisableRule:
   		case AT_AddInherit:		/* INHERIT / NO INHERIT */
   		case AT_DropInherit:
@@ -5304,7 +5304,7 @@ diff -Nrpc base/src/backend/commands/tab
   			/* These commands never recurse */
   			/* No command-specific prep needed */
   			pass = AT_PASS_MISC;
---- 2530,2536 ----
+--- 2540,2546 ----
   		case AT_DisableRule:
   		case AT_AddInherit:		/* INHERIT / NO INHERIT */
   		case AT_DropInherit:
@@ -5313,7 +5313,7 @@ diff -Nrpc base/src/backend/commands/tab
   			/* No command-specific prep needed */
   			pass = AT_PASS_MISC;
 *************** ATRewriteTables(List **wqueue)
-*** 2850,2857 ****
+*** 2860,2867 ****
   			/*
   			 * The new relation is local to our transaction and we know
   			 * nothing depends on it, so DROP_RESTRICT should be OK.
@@ -5322,7 +5322,7 @@ diff -Nrpc base/src/backend/commands/tab
   			/* performDeletion does CommandCounterIncrement at end */
   
   			/*
---- 2876,2884 ----
+--- 2886,2894 ----
   			/*
   			 * The new relation is local to our transaction and we know
   			 * nothing depends on it, so DROP_RESTRICT should be OK.
@@ -5333,8 +5333,8 @@ diff -Nrpc base/src/backend/commands/tab
   
   			/*
 *************** ATRewriteTable(AlteredTableInfo *tab, Oi
-*** 3076,3086 ****
---- 3103,3116 ----
+*** 3086,3096 ****
+--- 3113,3126 ----
   			if (newrel)
   			{
   				Oid			tupOid = InvalidOid;
@@ -5350,8 +5350,8 @@ diff -Nrpc base/src/backend/commands/tab
   				/* Set dropped attributes to null in new tuple */
   				foreach(lc, dropped_attrs)
 *************** ATRewriteTable(AlteredTableInfo *tab, Oi
-*** 3112,3117 ****
---- 3142,3150 ----
+*** 3122,3127 ****
+--- 3152,3160 ----
   				/* Preserve OID, if any */
   				if (newTupDesc->tdhasoid)
   					HeapTupleSetOid(tuple, tupOid);
@@ -5362,7 +5362,7 @@ diff -Nrpc base/src/backend/commands/tab
   
   			/* Now check any constraints on the possibly-changed tuple */
 *************** ATGetQueueEntry(List **wqueue, Relation 
-*** 3213,3219 ****
+*** 3223,3229 ****
    * - Ensure that it is not a system table
    */
   static void
@@ -5370,7 +5370,7 @@ diff -Nrpc base/src/backend/commands/tab
   {
   	if (rel->rd_rel->relkind != RELKIND_RELATION)
   	{
---- 3246,3252 ----
+--- 3256,3262 ----
    * - Ensure that it is not a system table
    */
   static void
@@ -5379,8 +5379,8 @@ diff -Nrpc base/src/backend/commands/tab
   	if (rel->rd_rel->relkind != RELKIND_RELATION)
   	{
 *************** ATSimplePermissions(Relation rel, bool a
-*** 3237,3242 ****
---- 3270,3281 ----
+*** 3247,3252 ****
+--- 3280,3291 ----
   		aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_CLASS,
   					   RelationGetRelationName(rel));
   
@@ -5394,7 +5394,7 @@ diff -Nrpc base/src/backend/commands/tab
   		ereport(ERROR,
   				(errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
 *************** ATSimplePermissions(Relation rel, bool a
-*** 3252,3258 ****
+*** 3262,3268 ****
    * - Ensure that it is not a system table
    */
   static void
@@ -5402,7 +5402,7 @@ diff -Nrpc base/src/backend/commands/tab
   {
   	if (rel->rd_rel->relkind != RELKIND_RELATION &&
   		rel->rd_rel->relkind != RELKIND_INDEX)
---- 3291,3297 ----
+--- 3301,3307 ----
    * - Ensure that it is not a system table
    */
   static void
@@ -5411,8 +5411,8 @@ diff -Nrpc base/src/backend/commands/tab
   	if (rel->rd_rel->relkind != RELKIND_RELATION &&
   		rel->rd_rel->relkind != RELKIND_INDEX)
 *************** ATSimplePermissionsRelationOrIndex(Relat
-*** 3266,3271 ****
---- 3305,3316 ----
+*** 3276,3281 ****
+--- 3315,3326 ----
   		aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_CLASS,
   					   RelationGetRelationName(rel));
   
@@ -5426,8 +5426,8 @@ diff -Nrpc base/src/backend/commands/tab
   		ereport(ERROR,
   				(errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
 *************** ATExecAddColumn(AlteredTableInfo *tab, R
-*** 3509,3514 ****
---- 3554,3560 ----
+*** 3519,3524 ****
+--- 3564,3570 ----
   	HeapTuple	typeTuple;
   	Oid			typeOid;
   	int32		typmod;
@@ -5436,8 +5436,8 @@ diff -Nrpc base/src/backend/commands/tab
   	Expr	   *defval;
   
 *************** ATExecAddColumn(AlteredTableInfo *tab, R
-*** 3546,3551 ****
---- 3592,3600 ----
+*** 3556,3561 ****
+--- 3602,3610 ----
   				 errmsg("child table \"%s\" has a conflicting \"%s\" column",
   						RelationGetRelationName(rel), colDef->colname)));
   
@@ -5448,8 +5448,8 @@ diff -Nrpc base/src/backend/commands/tab
   			childatt->attinhcount++;
   			simple_heap_update(attrdesc, &tuple->t_self, tuple);
 *************** ATExecAddColumn(AlteredTableInfo *tab, R
-*** 3585,3590 ****
---- 3634,3642 ----
+*** 3595,3600 ****
+--- 3644,3652 ----
   				 errmsg("column \"%s\" of relation \"%s\" already exists",
   						colDef->colname, RelationGetRelationName(rel))));
   
@@ -5460,7 +5460,7 @@ diff -Nrpc base/src/backend/commands/tab
   	if (isOid)
   		newattnum = ObjectIdAttributeNumber;
 *************** ATExecAddColumn(AlteredTableInfo *tab, R
-*** 3627,3633 ****
+*** 3637,3643 ****
   
   	ReleaseSysCache(typeTuple);
   
@@ -5468,7 +5468,7 @@ diff -Nrpc base/src/backend/commands/tab
   
   	heap_close(attrdesc, RowExclusiveLock);
   
---- 3679,3685 ----
+--- 3689,3695 ----
   
   	ReleaseSysCache(typeTuple);
   
@@ -5477,8 +5477,8 @@ diff -Nrpc base/src/backend/commands/tab
   	heap_close(attrdesc, RowExclusiveLock);
   
 *************** ATPrepSetStatistics(Relation rel, const 
-*** 4016,4021 ****
---- 4068,4075 ----
+*** 4026,4031 ****
+--- 4078,4085 ----
   	if (!pg_class_ownercheck(RelationGetRelid(rel), GetUserId()))
   		aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_CLASS,
   					   RelationGetRelationName(rel));
@@ -5488,7 +5488,7 @@ diff -Nrpc base/src/backend/commands/tab
   
   static void
 *************** ATExecDropColumn(List **wqueue, Relation
-*** 4171,4177 ****
+*** 4181,4187 ****
   
   	/* At top level, permission check was done in ATPrepCmd, else do it */
   	if (recursing)
@@ -5496,7 +5496,7 @@ diff -Nrpc base/src/backend/commands/tab
   
   	/*
   	 * get the number of the attribute
---- 4225,4231 ----
+--- 4235,4241 ----
   
   	/* At top level, permission check was done in ATPrepCmd, else do it */
   	if (recursing)
@@ -5505,7 +5505,7 @@ diff -Nrpc base/src/backend/commands/tab
   	/*
   	 * get the number of the attribute
 *************** ATAddCheckConstraint(List **wqueue, Alte
-*** 4473,4479 ****
+*** 4483,4489 ****
   
   	/* At top level, permission check was done in ATPrepCmd, else do it */
   	if (recursing)
@@ -5513,7 +5513,7 @@ diff -Nrpc base/src/backend/commands/tab
   
   	/*
   	 * Call AddRelationNewConstraints to do the work, making sure it works on
---- 4527,4533 ----
+--- 4537,4543 ----
   
   	/* At top level, permission check was done in ATPrepCmd, else do it */
   	if (recursing)
@@ -5522,7 +5522,7 @@ diff -Nrpc base/src/backend/commands/tab
   	/*
   	 * Call AddRelationNewConstraints to do the work, making sure it works on
 *************** checkFkeyPermissions(Relation rel, int16
-*** 5102,5108 ****
+*** 5112,5118 ****
   	aclresult = pg_class_aclcheck(RelationGetRelid(rel), roleid,
   								  ACL_REFERENCES);
   	if (aclresult == ACLCHECK_OK)
@@ -5530,7 +5530,7 @@ diff -Nrpc base/src/backend/commands/tab
   	/* Else we must have REFERENCES on each column */
   	for (i = 0; i < natts; i++)
   	{
---- 5156,5162 ----
+--- 5166,5172 ----
   	aclresult = pg_class_aclcheck(RelationGetRelid(rel), roleid,
   								  ACL_REFERENCES);
   	if (aclresult == ACLCHECK_OK)
@@ -5539,8 +5539,8 @@ diff -Nrpc base/src/backend/commands/tab
   	for (i = 0; i < natts; i++)
   	{
 *************** checkFkeyPermissions(Relation rel, int16
-*** 5112,5117 ****
---- 5166,5174 ----
+*** 5122,5127 ****
+--- 5176,5184 ----
   			aclcheck_error(aclresult, ACL_KIND_CLASS,
   						   RelationGetRelationName(rel));
   	}
@@ -5551,7 +5551,7 @@ diff -Nrpc base/src/backend/commands/tab
   
   /*
 *************** ATExecDropConstraint(Relation rel, const
-*** 5375,5381 ****
+*** 5385,5391 ****
   
   	/* At top level, permission check was done in ATPrepCmd, else do it */
   	if (recursing)
@@ -5559,7 +5559,7 @@ diff -Nrpc base/src/backend/commands/tab
   
   	conrel = heap_open(ConstraintRelationId, RowExclusiveLock);
   
---- 5432,5438 ----
+--- 5442,5448 ----
   
   	/* At top level, permission check was done in ATPrepCmd, else do it */
   	if (recursing)
@@ -5568,8 +5568,8 @@ diff -Nrpc base/src/backend/commands/tab
   	conrel = heap_open(ConstraintRelationId, RowExclusiveLock);
   
 *************** ATExecChangeOwner(Oid relationOid, Oid n
-*** 6308,6313 ****
---- 6365,6372 ----
+*** 6318,6323 ****
+--- 6375,6382 ----
   					aclcheck_error(aclresult, ACL_KIND_NAMESPACE,
   								   get_namespace_name(namespaceOid));
   			}
@@ -5579,7 +5579,7 @@ diff -Nrpc base/src/backend/commands/tab
   
   		memset(repl_null, false, sizeof(repl_null));
 *************** ATExecAddInherit(Relation child_rel, Ran
-*** 6912,6918 ****
+*** 6922,6928 ****
   	 * Must be owner of both parent and child -- child was checked by
   	 * ATSimplePermissions call in ATPrepCmd
   	 */
@@ -5587,7 +5587,7 @@ diff -Nrpc base/src/backend/commands/tab
   
   	/* Permanent rels cannot inherit from temporary ones */
   	if (parent_rel->rd_istemp && !child_rel->rd_istemp)
---- 6971,6977 ----
+--- 6981,6987 ----
   	 * Must be owner of both parent and child -- child was checked by
   	 * ATSimplePermissions call in ATPrepCmd
   	 */
@@ -5596,8 +5596,8 @@ diff -Nrpc base/src/backend/commands/tab
   	/* Permanent rels cannot inherit from temporary ones */
   	if (parent_rel->rd_istemp && !child_rel->rd_istemp)
 *************** AlterTableNamespace(RangeVar *relation, 
-*** 7570,7575 ****
---- 7629,7637 ----
+*** 7580,7585 ****
+--- 7639,7647 ----
   						RelationGetRelationName(rel),
   						newschema)));
   
@@ -5608,8 +5608,8 @@ diff -Nrpc base/src/backend/commands/tab
   	if (isAnyTempNamespace(nspOid) || isAnyTempNamespace(oldNspOid))
   		ereport(ERROR,
 *************** AlterSeqNamespaces(Relation classRel, Re
-*** 7762,7767 ****
---- 7824,7957 ----
+*** 7772,7777 ****
+--- 7834,7967 ----
   	relation_close(depRel, AccessShareLock);
   }
   
@@ -5745,8 +5745,8 @@ diff -Nrpc base/src/backend/commands/tab
   /*
    * This code supports
 diff -Nrpc base/src/backend/commands/trigger.c sepgsql/src/backend/commands/trigger.c
-*** base/src/backend/commands/trigger.c	Fri Jun 19 13:40:37 2009
---- sepgsql/src/backend/commands/trigger.c	Thu Sep 17 22:10:19 2009
+*** base/src/backend/commands/trigger.c	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/backend/commands/trigger.c	Tue Dec 15 17:30:25 2009
 ***************
 *** 33,38 ****
 --- 33,39 ----
@@ -6187,8 +6187,8 @@ diff -Nrpc base/src/backend/executor/exe
   	/*
   	 * Use the given slot, or make a new slot if we weren't given one.
 diff -Nrpc base/src/backend/executor/execMain.c sepgsql/src/backend/executor/execMain.c
-*** base/src/backend/executor/execMain.c	Thu Jun 18 10:20:52 2009
---- sepgsql/src/backend/executor/execMain.c	Thu Oct  8 09:29:32 2009
+*** base/src/backend/executor/execMain.c	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/backend/executor/execMain.c	Tue Dec 15 17:30:25 2009
 ***************
 *** 39,44 ****
 --- 39,45 ----
@@ -6487,8 +6487,8 @@ diff -Nrpc base/src/backend/executor/exe
   	Oid			intoRelationId;
   	TupleDesc	tupdesc;
 *************** OpenIntoRel(QueryDesc *queryDesc)
-*** 2871,2876 ****
---- 2982,2995 ----
+*** 2886,2891 ****
+--- 2997,3010 ----
   		aclcheck_error(aclresult, ACL_KIND_NAMESPACE,
   					   get_namespace_name(namespaceId));
   
@@ -6504,7 +6504,7 @@ diff -Nrpc base/src/backend/executor/exe
   	 * Select tablespace to use.  If not specified, use default tablespace
   	 * (which may in turn default to database's default).
 *************** OpenIntoRel(QueryDesc *queryDesc)
-*** 2929,2935 ****
+*** 2944,2950 ****
   											  0,
   											  into->onCommit,
   											  reloptions,
@@ -6512,7 +6512,7 @@ diff -Nrpc base/src/backend/executor/exe
   
   	FreeTupleDesc(tupdesc);
   
---- 3048,3055 ----
+--- 3063,3070 ----
   											  0,
   											  into->onCommit,
   											  reloptions,
@@ -6522,8 +6522,8 @@ diff -Nrpc base/src/backend/executor/exe
   	FreeTupleDesc(tupdesc);
   
 *************** intorel_receive(TupleTableSlot *slot, De
-*** 3054,3059 ****
---- 3174,3183 ----
+*** 3069,3074 ****
+--- 3189,3198 ----
   	if (myState->rel->rd_rel->relhasoids)
   		HeapTupleSetOid(tuple, InvalidOid);
   
@@ -7003,8 +7003,8 @@ diff -Nrpc base/src/backend/executor/nod
   	}
   
 diff -Nrpc base/src/backend/executor/spi.c sepgsql/src/backend/executor/spi.c
-*** base/src/backend/executor/spi.c	Thu Jun 18 10:20:52 2009
---- sepgsql/src/backend/executor/spi.c	Tue Sep  8 23:55:48 2009
+*** base/src/backend/executor/spi.c	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/backend/executor/spi.c	Tue Dec 15 17:30:25 2009
 *************** SPI_modifytuple(Relation rel, HeapTuple 
 *** 705,710 ****
 --- 705,712 ----
@@ -7160,8 +7160,8 @@ diff -Nrpc base/src/backend/libpq/be-fss
    *		 prepares large objects for transaction commit
    */
 diff -Nrpc base/src/backend/nodes/copyfuncs.c sepgsql/src/backend/nodes/copyfuncs.c
-*** base/src/backend/nodes/copyfuncs.c	Fri Jun 19 13:40:37 2009
---- sepgsql/src/backend/nodes/copyfuncs.c	Wed Jul 15 19:39:56 2009
+*** base/src/backend/nodes/copyfuncs.c	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/backend/nodes/copyfuncs.c	Tue Dec 15 17:30:25 2009
 *************** CopyScanFields(Scan *from, Scan *newnode
 *** 259,264 ****
 --- 259,265 ----
@@ -7176,7 +7176,7 @@ diff -Nrpc base/src/backend/nodes/copyfu
 *** 2075,2080 ****
 --- 2076,2082 ----
   	COPY_NODE_FIELD(raw_default);
-  	COPY_STRING_FIELD(cooked_default);
+  	COPY_NODE_FIELD(cooked_default);
   	COPY_NODE_FIELD(constraints);
 + 	COPY_NODE_FIELD(secLabel);
   
@@ -7239,8 +7239,8 @@ diff -Nrpc base/src/backend/nodes/copyfu
   			retval = _copyRuleStmt(from);
   			break;
 diff -Nrpc base/src/backend/nodes/equalfuncs.c sepgsql/src/backend/nodes/equalfuncs.c
-*** base/src/backend/nodes/equalfuncs.c	Fri Jun 19 13:40:37 2009
---- sepgsql/src/backend/nodes/equalfuncs.c	Wed Jul 15 19:37:35 2009
+*** base/src/backend/nodes/equalfuncs.c	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/backend/nodes/equalfuncs.c	Tue Dec 15 17:30:25 2009
 *************** _equalCreateStmt(CreateStmt *a, CreateSt
 *** 1078,1083 ****
 --- 1078,1084 ----
@@ -7287,7 +7287,7 @@ diff -Nrpc base/src/backend/nodes/equalf
 *** 2054,2059 ****
 --- 2069,2075 ----
   	COMPARE_NODE_FIELD(raw_default);
-  	COMPARE_STRING_FIELD(cooked_default);
+  	COMPARE_NODE_FIELD(cooked_default);
   	COMPARE_NODE_FIELD(constraints);
 + 	COMPARE_NODE_FIELD(secLabel);
   
@@ -7306,8 +7306,8 @@ diff -Nrpc base/src/backend/nodes/equalf
   			retval = _equalRuleStmt(a, b);
   			break;
 diff -Nrpc base/src/backend/nodes/outfuncs.c sepgsql/src/backend/nodes/outfuncs.c
-*** base/src/backend/nodes/outfuncs.c	Thu Jun 18 10:20:52 2009
---- sepgsql/src/backend/nodes/outfuncs.c	Wed Jul 15 19:39:56 2009
+*** base/src/backend/nodes/outfuncs.c	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/backend/nodes/outfuncs.c	Tue Dec 15 17:30:25 2009
 *************** _outScanInfo(StringInfo str, Scan *node)
 *** 285,290 ****
 --- 285,291 ----
@@ -7342,7 +7342,7 @@ diff -Nrpc base/src/backend/nodes/outfun
 *** 1839,1844 ****
 --- 1842,1848 ----
   	WRITE_NODE_FIELD(raw_default);
-  	WRITE_STRING_FIELD(cooked_default);
+  	WRITE_NODE_FIELD(cooked_default);
   	WRITE_NODE_FIELD(constraints);
 + 	WRITE_NODE_FIELD(secLabel);
   }
@@ -7420,8 +7420,8 @@ diff -Nrpc base/src/backend/optimizer/ut
   	/* Check type of rtable entry */
   	switch (rte->rtekind)
 diff -Nrpc base/src/backend/parser/analyze.c sepgsql/src/backend/parser/analyze.c
-*** base/src/backend/parser/analyze.c	Sun Sep  6 19:40:49 2009
---- sepgsql/src/backend/parser/analyze.c	Sun Sep  6 19:53:10 2009
+*** base/src/backend/parser/analyze.c	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/backend/parser/analyze.c	Tue Dec 15 17:30:25 2009
 ***************
 *** 25,30 ****
 --- 25,31 ----
@@ -7433,7 +7433,7 @@ diff -Nrpc base/src/backend/parser/analy
   #include "nodes/makefuncs.h"
   #include "nodes/nodeFuncs.h"
 *************** transformInsertStmt(ParseState *pstate, 
-*** 653,659 ****
+*** 660,666 ****
   		tle = makeTargetEntry(expr,
   							  attr_num,
   							  col->name,
@@ -7441,7 +7441,7 @@ diff -Nrpc base/src/backend/parser/analy
   		qry->targetList = lappend(qry->targetList, tle);
   
   		rte->modifiedCols = bms_add_member(rte->modifiedCols,
---- 654,660 ----
+--- 661,667 ----
   		tle = makeTargetEntry(expr,
   							  attr_num,
   							  col->name,
@@ -7450,8 +7450,8 @@ diff -Nrpc base/src/backend/parser/analy
   
   		rte->modifiedCols = bms_add_member(rte->modifiedCols,
 *************** transformInsertRow(ParseState *pstate, L
-*** 768,773 ****
---- 769,816 ----
+*** 775,780 ****
+--- 776,823 ----
   	return result;
   }
   
@@ -7501,8 +7501,8 @@ diff -Nrpc base/src/backend/parser/analy
   /*
    * transformSelectStmt -
 *************** transformSelectStmt(ParseState *pstate, 
-*** 872,877 ****
---- 915,921 ----
+*** 879,884 ****
+--- 922,928 ----
   	if (stmt->intoClause)
   	{
   		qry->intoClause = stmt->intoClause;
@@ -7971,8 +7971,8 @@ diff -Nrpc base/src/backend/parser/parse
   			/*
   			 * Check for duplicates, but only of whole columns --- we allow
 diff -Nrpc base/src/backend/parser/parse_utilcmd.c sepgsql/src/backend/parser/parse_utilcmd.c
-*** base/src/backend/parser/parse_utilcmd.c	Thu Jun 18 10:20:52 2009
---- sepgsql/src/backend/parser/parse_utilcmd.c	Fri Sep 18 14:51:00 2009
+*** base/src/backend/parser/parse_utilcmd.c	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/backend/parser/parse_utilcmd.c	Tue Dec 15 17:30:25 2009
 ***************
 *** 49,54 ****
 --- 49,55 ----
@@ -8015,8 +8015,8 @@ diff -Nrpc base/src/backend/postmaster/a
   				else
   				{
 diff -Nrpc base/src/backend/postmaster/postmaster.c sepgsql/src/backend/postmaster/postmaster.c
-*** base/src/backend/postmaster/postmaster.c	Sun Sep  6 19:40:49 2009
---- sepgsql/src/backend/postmaster/postmaster.c	Tue Dec  8 14:04:25 2009
+*** base/src/backend/postmaster/postmaster.c	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/backend/postmaster/postmaster.c	Tue Dec 15 17:30:25 2009
 ***************
 *** 108,113 ****
 --- 108,114 ----
@@ -8070,8 +8070,8 @@ diff -Nrpc base/src/backend/postmaster/p
   		if (avlauncher_needs_signal)
   		{
 *************** SIGHUP_handler(SIGNAL_ARGS)
-*** 2053,2058 ****
---- 2061,2068 ----
+*** 2055,2060 ****
+--- 2063,2070 ----
   			signal_child(SysLoggerPID, SIGHUP);
   		if (PgStatPID != 0)
   			signal_child(PgStatPID, SIGHUP);
@@ -8081,8 +8081,8 @@ diff -Nrpc base/src/backend/postmaster/p
   		/* Reload authentication config files too */
   		if (!load_hba())
 *************** pmdie(SIGNAL_ARGS)
-*** 2113,2118 ****
---- 2123,2131 ----
+*** 2115,2120 ****
+--- 2125,2133 ----
   				/* and the walwriter too */
   				if (WalWriterPID != 0)
   					signal_child(WalWriterPID, SIGTERM);
@@ -8093,8 +8093,8 @@ diff -Nrpc base/src/backend/postmaster/p
   			}
   
 *************** pmdie(SIGNAL_ARGS)
-*** 2160,2165 ****
---- 2173,2181 ----
+*** 2162,2167 ****
+--- 2175,2183 ----
   				/* and the walwriter too */
   				if (WalWriterPID != 0)
   					signal_child(WalWriterPID, SIGTERM);
@@ -8105,8 +8105,8 @@ diff -Nrpc base/src/backend/postmaster/p
   			}
   
 *************** pmdie(SIGNAL_ARGS)
-*** 2193,2198 ****
---- 2209,2216 ----
+*** 2195,2200 ****
+--- 2211,2218 ----
   				signal_child(PgArchPID, SIGQUIT);
   			if (PgStatPID != 0)
   				signal_child(PgStatPID, SIGQUIT);
@@ -8116,8 +8116,8 @@ diff -Nrpc base/src/backend/postmaster/p
   			break;
   	}
 *************** reaper(SIGNAL_ARGS)
-*** 2455,2460 ****
---- 2473,2488 ----
+*** 2457,2462 ****
+--- 2475,2490 ----
   			continue;
   		}
   
@@ -8135,8 +8135,8 @@ diff -Nrpc base/src/backend/postmaster/p
   		 * Else do standard backend child cleanup.
   		 */
 *************** HandleChildCrash(int pid, int exitstatus
-*** 2646,2651 ****
---- 2674,2691 ----
+*** 2648,2653 ****
+--- 2676,2693 ----
   		signal_child(AutoVacPID, (SendStop ? SIGSTOP : SIGQUIT));
   	}
   
@@ -8156,7 +8156,7 @@ diff -Nrpc base/src/backend/postmaster/p
   	 * Force a power-cycle of the pgarch process too.  (This isn't absolutely
   	 * necessary, but it seems like a good idea for robustness, and it
 *************** PostmasterStateMachine(void)
-*** 2778,2784 ****
+*** 2780,2786 ****
   			StartupPID == 0 &&
   			(BgWriterPID == 0 || !FatalError) &&
   			WalWriterPID == 0 &&
@@ -8164,7 +8164,7 @@ diff -Nrpc base/src/backend/postmaster/p
   		{
   			if (FatalError)
   			{
---- 2818,2825 ----
+--- 2820,2827 ----
   			StartupPID == 0 &&
   			(BgWriterPID == 0 || !FatalError) &&
   			WalWriterPID == 0 &&
@@ -8174,8 +8174,8 @@ diff -Nrpc base/src/backend/postmaster/p
   			if (FatalError)
   			{
 *************** StartChildProcess(AuxProcType type)
-*** 4321,4326 ****
---- 4362,4373 ----
+*** 4323,4328 ****
+--- 4364,4375 ----
   				ereport(LOG,
   						(errmsg("could not fork WAL writer process: %m")));
   				break;
@@ -8408,10 +8408,10 @@ diff -Nrpc base/src/backend/security/sep
 + include $(top_srcdir)/src/backend/common.mk
 diff -Nrpc base/src/backend/security/sepgsql/avc.c sepgsql/src/backend/security/sepgsql/avc.c
 *** base/src/backend/security/sepgsql/avc.c	Thu Jan  1 09:00:00 1970
---- sepgsql/src/backend/security/sepgsql/avc.c	Tue Dec  8 14:16:15 2009
+--- sepgsql/src/backend/security/sepgsql/avc.c	Thu Dec 10 10:36:18 2009
 ***************
 *** 0 ****
---- 1,880 ----
+--- 1,881 ----
 + /*
 +  * src/backend/security/sepgsql/avc.c
 +  *	  SE-PostgreSQL userspace access vector cache
@@ -8454,7 +8454,7 @@ diff -Nrpc base/src/backend/security/sep
 +  * postmaster can receives the notification messages from the kernel
 +  * space, and invalidate the current version of avc.
 +  */
-+ static MemoryContext AvcMemCtx;
++ static MemoryContext AvcMemCtx = NULL;
 + 
 + #define AVC_HASH_NUM_SLOTS		256
 + #define AVC_HASH_NUM_NODES		180
@@ -8554,11 +8554,12 @@ diff -Nrpc base/src/backend/security/sep
 +  * It invalidate access vector cache. It has to be called on errors,
 +  * because avc entries for newly created context is uncertain whether
 +  * it is still valid, or not.
++  * If error happens before avc initialization, we simply skip it.
 +  */
 + void
 + sepgsqlAvcReset(void)
 + {
-+ 	if (!sepgsqlIsEnabled())
++ 	if (!sepgsqlIsEnabled() || !AvcMemCtx)
 + 		return;
 + 
 + 	MemoryContextReset(AvcMemCtx);
@@ -15175,11 +15176,11 @@ diff -Nrpc base/src/backend/security/sep
 + 	allow sepgsql_database_type     user_home_t : db_database { load_module };
 + ')
 diff -Nrpc base/src/backend/storage/file/fd.c sepgsql/src/backend/storage/file/fd.c
-*** base/src/backend/storage/file/fd.c	Thu Jun 18 10:20:52 2009
---- sepgsql/src/backend/storage/file/fd.c	Wed Jul 15 19:48:58 2009
+*** base/src/backend/storage/file/fd.c	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/backend/storage/file/fd.c	Tue Dec 15 17:30:25 2009
 *************** FileTruncate(File file, off_t offset)
-*** 1319,1324 ****
---- 1319,1331 ----
+*** 1329,1334 ****
+--- 1329,1341 ----
   	return returnCode;
   }
   
@@ -15496,8 +15497,8 @@ diff -Nrpc base/src/backend/tcop/pquery.
   
   				/*
 diff -Nrpc base/src/backend/tcop/utility.c sepgsql/src/backend/tcop/utility.c
-*** base/src/backend/tcop/utility.c	Thu Jun 18 10:20:52 2009
---- sepgsql/src/backend/tcop/utility.c	Wed Jul 15 21:17:18 2009
+*** base/src/backend/tcop/utility.c	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/backend/tcop/utility.c	Tue Dec 15 17:30:25 2009
 ***************
 *** 50,55 ****
 --- 50,56 ----
@@ -15519,8 +15520,8 @@ diff -Nrpc base/src/backend/tcop/utility
   		case T_AlterTableStmt:
   		case T_RenameStmt:
 *************** ProcessUtility(Node *parsetree,
-*** 612,617 ****
---- 614,623 ----
+*** 634,639 ****
+--- 636,645 ----
   			ExecAlterOwnerStmt((AlterOwnerStmt *) parsetree);
   			break;
   
@@ -15532,8 +15533,8 @@ diff -Nrpc base/src/backend/tcop/utility
   			{
   				List	   *stmts;
 *************** ProcessUtility(Node *parsetree,
-*** 893,898 ****
---- 899,905 ----
+*** 917,922 ****
+--- 923,929 ----
   				LoadStmt   *stmt = (LoadStmt *) parsetree;
   
   				closeAllVfds(); /* probably not necessary... */
@@ -15542,8 +15543,8 @@ diff -Nrpc base/src/backend/tcop/utility
   				load_file(stmt->filename, !superuser());
   			}
 *************** CreateCommandTag(Node *parsetree)
-*** 1635,1640 ****
---- 1642,1672 ----
+*** 1661,1666 ****
+--- 1668,1698 ----
   			}
   			break;
   
@@ -15576,8 +15577,8 @@ diff -Nrpc base/src/backend/tcop/utility
   			switch (((AlterTableStmt *) parsetree)->relkind)
   			{
 *************** GetCommandLogLevel(Node *parsetree)
-*** 2213,2218 ****
---- 2245,2254 ----
+*** 2239,2244 ****
+--- 2271,2280 ----
   			lev = LOGSTMT_DDL;
   			break;
   
@@ -15625,8 +15626,8 @@ diff -Nrpc base/src/backend/utils/adt/ge
   	if (stat(filename, &fst) < 0)
   		ereport(ERROR,
 diff -Nrpc base/src/backend/utils/adt/ri_triggers.c sepgsql/src/backend/utils/adt/ri_triggers.c
-*** base/src/backend/utils/adt/ri_triggers.c	Thu Jun 18 10:20:52 2009
---- sepgsql/src/backend/utils/adt/ri_triggers.c	Wed Jul 15 19:39:56 2009
+*** base/src/backend/utils/adt/ri_triggers.c	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/backend/utils/adt/ri_triggers.c	Tue Dec 15 17:30:25 2009
 ***************
 *** 39,44 ****
 --- 39,45 ----
@@ -15674,20 +15675,20 @@ diff -Nrpc base/src/backend/utils/adt/ri
   	if (spi_result != SPI_OK_SELECT)
   		elog(ERROR, "SPI_execute_snapshot returned %d", spi_result);
 *************** ri_PerformCheck(RI_QueryKey *qkey, SPIPl
-*** 3264,3269 ****
---- 3274,3280 ----
+*** 3265,3270 ****
+--- 3275,3281 ----
   	int			spi_result;
   	Oid			save_userid;
-  	bool		save_secdefcxt;
+  	int			save_sec_context;
 + 	int			save_rowlv, temp_rowlv;
   	Datum		vals[RI_MAX_NUMKEYS * 2];
   	char		nulls[RI_MAX_NUMKEYS * 2];
   
 *************** ri_PerformCheck(RI_QueryKey *qkey, SPIPl
-*** 3346,3357 ****
---- 3357,3375 ----
-  	GetUserIdAndContext(&save_userid, &save_secdefcxt);
-  	SetUserIdAndContext(RelationGetForm(query_rel)->relowner, true);
+*** 3348,3359 ****
+--- 3359,3377 ----
+  	SetUserIdAndSecContext(RelationGetForm(query_rel)->relowner,
+  						   save_sec_context | SECURITY_LOCAL_USERID_CHANGE);
   
 + 	/* Switch Row-level stuff behavior on FK checks, if necessary */
 + 	temp_rowlv = (detectNewRows ? ROWLV_ABORT_MODE : ROWLV_FILTER_MODE);
@@ -15702,8 +15703,8 @@ diff -Nrpc base/src/backend/utils/adt/ri
 + 	/* Restore Row-level stuff behavior */
 + 	rowlvSetPerformingMode(save_rowlv);
 + 
-  	/* Restore UID */
-  	SetUserIdAndContext(save_userid, save_secdefcxt);
+  	/* Restore UID and security context */
+  	SetUserIdAndSecContext(save_userid, save_sec_context);
   
 diff -Nrpc base/src/backend/utils/adt/tid.c sepgsql/src/backend/utils/adt/tid.c
 *** base/src/backend/utils/adt/tid.c	Sat Jan  3 13:01:35 2009
@@ -15807,8 +15808,8 @@ diff -Nrpc base/src/backend/utils/cache/
   			/* other cases shouldn't happen, but return NULL */
   			break;
 diff -Nrpc base/src/backend/utils/cache/relcache.c sepgsql/src/backend/utils/cache/relcache.c
-*** base/src/backend/utils/cache/relcache.c	Thu Jun 18 10:20:52 2009
---- sepgsql/src/backend/utils/cache/relcache.c	Wed Sep  9 13:14:37 2009
+*** base/src/backend/utils/cache/relcache.c	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/backend/utils/cache/relcache.c	Tue Dec 15 17:30:25 2009
 ***************
 *** 47,52 ****
 --- 47,53 ----
@@ -15833,8 +15834,8 @@ diff -Nrpc base/src/backend/utils/cache/
   	 * initialize the relation lock manager information
   	 */
 *************** formrdesc(const char *relationName, Oid 
-*** 1458,1463 ****
---- 1463,1473 ----
+*** 1460,1465 ****
+--- 1465,1475 ----
   	RelationGetRelid(relation) = relation->rd_att->attrs[0]->attrelid;
   	relation->rd_rel->relfilenode = RelationGetRelid(relation);
   
@@ -15847,8 +15848,8 @@ diff -Nrpc base/src/backend/utils/cache/
   	 * initialize the relation lock manager information
   	 */
 *************** BuildHardcodedDescriptor(int natts, Form
-*** 2699,2704 ****
---- 2709,2721 ----
+*** 2749,2754 ****
+--- 2759,2771 ----
   	result = CreateTemplateTupleDesc(natts, hasoids);
   	result->tdtypeid = RECORDOID;		/* not right, but we don't care */
   	result->tdtypmod = -1;
@@ -15863,8 +15864,8 @@ diff -Nrpc base/src/backend/utils/cache/
   	for (i = 0; i < natts; i++)
   	{
 *************** load_relcache_init_file(void)
-*** 3453,3458 ****
---- 3470,3480 ----
+*** 3503,3508 ****
+--- 3520,3530 ----
   			rel->rd_options = NULL;
   		}
   
@@ -15970,8 +15971,8 @@ diff -Nrpc base/src/backend/utils/fmgr/d
   	internal_unload_library(fullname);
   
 diff -Nrpc base/src/backend/utils/fmgr/fmgr.c sepgsql/src/backend/utils/fmgr/fmgr.c
-*** base/src/backend/utils/fmgr/fmgr.c	Thu Jun 18 10:20:52 2009
---- sepgsql/src/backend/utils/fmgr/fmgr.c	Thu Sep 17 17:04:16 2009
+*** base/src/backend/utils/fmgr/fmgr.c	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/backend/utils/fmgr/fmgr.c	Tue Dec 15 17:30:25 2009
 ***************
 *** 24,29 ****
 --- 24,30 ----
@@ -16047,8 +16048,8 @@ diff -Nrpc base/src/backend/utils/init/p
   	 * Figure out our postgres user id, and see if we are a superuser.
   	 *
 diff -Nrpc base/src/backend/utils/misc/guc.c sepgsql/src/backend/utils/misc/guc.c
-*** base/src/backend/utils/misc/guc.c	Sun Sep  6 19:40:49 2009
---- sepgsql/src/backend/utils/misc/guc.c	Sun Sep  6 19:53:10 2009
+*** base/src/backend/utils/misc/guc.c	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/backend/utils/misc/guc.c	Tue Dec 15 17:30:25 2009
 ***************
 *** 56,61 ****
 --- 56,62 ----
@@ -16178,8 +16179,8 @@ diff -Nrpc base/src/backend/utils/misc/s
   }
   
 diff -Nrpc base/src/bin/initdb/initdb.c sepgsql/src/bin/initdb/initdb.c
-*** base/src/bin/initdb/initdb.c	Thu Jun 18 10:20:52 2009
---- sepgsql/src/bin/initdb/initdb.c	Wed Jul 15 19:35:52 2009
+*** base/src/bin/initdb/initdb.c	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/bin/initdb/initdb.c	Tue Dec 15 17:30:25 2009
 *************** static bool debug = false;
 *** 87,92 ****
 --- 87,93 ----
@@ -16239,8 +16240,8 @@ diff -Nrpc base/src/bin/initdb/initdb.c 
   				show_setting = true;
   				break;
 diff -Nrpc base/src/bin/pg_dump/pg_dump.c sepgsql/src/bin/pg_dump/pg_dump.c
-*** base/src/bin/pg_dump/pg_dump.c	Sun Sep  6 19:40:49 2009
---- sepgsql/src/bin/pg_dump/pg_dump.c	Tue Sep  8 17:13:41 2009
+*** base/src/bin/pg_dump/pg_dump.c	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/bin/pg_dump/pg_dump.c	Tue Dec 15 17:30:25 2009
 *************** static int	disable_dollar_quoting = 0;
 *** 112,117 ****
 --- 112,119 ----
@@ -16967,8 +16968,8 @@ diff -Nrpc base/src/bin/pg_dump/pg_dump.
   
   		/*
 *************** fmtCopyColumnList(const TableInfo *ti)
-*** 11508,11513 ****
---- 11595,11607 ----
+*** 11510,11515 ****
+--- 11597,11609 ----
   
   	appendPQExpBuffer(q, "(");
   	needComma = false;
@@ -17914,21 +17915,21 @@ diff -Nrpc base/src/include/nodes/nodes.
   	/*
   	 * TAGS FOR PARSE TREE NODES (parsenodes.h)
 diff -Nrpc base/src/include/nodes/parsenodes.h sepgsql/src/include/nodes/parsenodes.h
-*** base/src/include/nodes/parsenodes.h	Fri Jun 19 13:40:37 2009
---- sepgsql/src/include/nodes/parsenodes.h	Wed Jul 15 19:37:35 2009
+*** base/src/include/nodes/parsenodes.h	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/include/nodes/parsenodes.h	Tue Dec 15 17:30:25 2009
 *************** typedef struct ColumnDef
-*** 464,469 ****
---- 464,470 ----
+*** 463,468 ****
+--- 463,469 ----
   	Node	   *raw_default;	/* default value (untransformed parse tree) */
-  	char	   *cooked_default; /* nodeToString representation */
+  	Node	   *cooked_default; /* default value (transformed expr tree) */
   	List	   *constraints;	/* other constraints on column */
 + 	Node	   *secLabel;		/* security label of column */
   } ColumnDef;
   
   /*
 *************** typedef struct CreateSchemaStmt
-*** 1070,1075 ****
---- 1071,1077 ----
+*** 1069,1074 ****
+--- 1070,1076 ----
   	NodeTag		type;
   	char	   *schemaname;		/* the name of the schema to create */
   	char	   *authid;			/* the owner of the created schema */
@@ -17937,8 +17938,8 @@ diff -Nrpc base/src/include/nodes/parsen
   } CreateSchemaStmt;
   
 *************** typedef struct CreateStmt
-*** 1335,1340 ****
---- 1337,1343 ----
+*** 1334,1339 ****
+--- 1336,1342 ----
   	List	   *options;		/* options from WITH clause */
   	OnCommitAction oncommit;	/* what do we do at COMMIT? */
   	char	   *tablespacename; /* table space to use, or NULL */
@@ -17947,8 +17948,8 @@ diff -Nrpc base/src/include/nodes/parsen
   
   /* ----------
 *************** typedef struct CreateSeqStmt
-*** 1639,1644 ****
---- 1642,1648 ----
+*** 1638,1643 ****
+--- 1641,1647 ----
   	NodeTag		type;
   	RangeVar   *sequence;		/* the sequence to create */
   	List	   *options;
@@ -17957,8 +17958,8 @@ diff -Nrpc base/src/include/nodes/parsen
   
   typedef struct AlterSeqStmt
 *************** typedef struct AlterOwnerStmt
-*** 1993,1998 ****
---- 1997,2016 ----
+*** 1992,1997 ****
+--- 1996,2015 ----
   	char	   *newowner;		/* the new owner */
   } AlterOwnerStmt;
   
@@ -19046,8 +19047,8 @@ diff -Nrpc base/src/test/regress/expecte
   --
   -- another sanity check: every system catalog that has OIDs should have
 diff -Nrpc base/src/test/regress/pg_regress.c sepgsql/src/test/regress/pg_regress.c
-*** base/src/test/regress/pg_regress.c	Thu Jun 18 10:20:52 2009
---- sepgsql/src/test/regress/pg_regress.c	Tue Dec  1 17:11:40 2009
+*** base/src/test/regress/pg_regress.c	Tue Dec 15 17:16:51 2009
+--- sepgsql/src/test/regress/pg_regress.c	Tue Dec 15 17:30:25 2009
 *************** static _stringlist *schedulelist = NULL;
 *** 82,87 ****
 --- 82,88 ----


Index: sepostgresql.spec
===================================================================
RCS file: /cvs/pkgs/rpms/sepostgresql/F-12/sepostgresql.spec,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -p -r1.44 -r1.45
--- sepostgresql.spec	8 Dec 2009 05:59:39 -0000	1.44
+++ sepostgresql.spec	16 Dec 2009 13:38:53 -0000	1.45
@@ -11,8 +11,8 @@
 
 Summary: Security Enhanced PostgreSQL
 Name: sepostgresql
-Version: 8.4.1
-Release: 2464%{?dist}
+Version: 8.4.2
+Release: 2487%{?dist}
 License: BSD
 Group: Applications/Databases
 Url: http://code.google.com/p/sepgsql/
@@ -192,6 +192,9 @@ fi
 %attr(700,sepgsql,sepgsql) %dir %{_localstatedir}/lib/sepgsql/backups
 
 %changelog
+* Wed Dec 16 2009 KaiGai Kohei <kaigai at kaigai.gr.jp> - 8.4.2-2487
+- upgrade base version 8.4.1->8.4.2
+
 * Fri Dec 8 2009 KaiGai Kohei <kaigai at kaigai.gr.jp> - 8.4.1-2464
 - rework: backport features from v8.5devel tree
 - fixbug: selinux netlink receiver process didn't have correct ps display


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/sepostgresql/F-12/sources,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -p -r1.13 -r1.14
--- sources	11 Sep 2009 10:40:20 -0000	1.13
+++ sources	16 Dec 2009 13:38:53 -0000	1.14
@@ -1 +1 @@
-f2015af17bacbbfe140daf0d1067f9c9  postgresql-8.4.1.tar.bz2
+d738227e2f1f742d2f2d4ab56496c5c6  postgresql-8.4.2.tar.bz2




More information about the fedora-extras-commits mailing list