upgrade base pgsql v8.3.8->v8.3.9
This commit is contained in:
parent
61bf27784f
commit
2ecceffd1d
6 changed files with 96 additions and 93 deletions
|
|
@ -1,6 +1,6 @@
|
|||
diff -rpNU3 base/configure sepgsql-new/configure
|
||||
--- base/configure 2009-09-10 20:11:35.000000000 +0900
|
||||
+++ sepgsql-new/configure 2009-09-10 20:24:37.000000000 +0900
|
||||
--- base/configure 2009-12-15 16:55:43.000000000 +0900
|
||||
+++ sepgsql-new/configure 2009-12-15 17:05:57.000000000 +0900
|
||||
@@ -314,7 +314,7 @@ ac_includes_default="\
|
||||
# include <unistd.h>
|
||||
#endif"
|
||||
|
|
@ -143,8 +143,8 @@ diff -rpNU3 base/configure sepgsql-new/configure
|
|||
s,@ELF_SYS@,$ELF_SYS,;t t
|
||||
s,@LDFLAGS_SL@,$LDFLAGS_SL,;t t
|
||||
diff -rpNU3 base/configure.in sepgsql-new/configure.in
|
||||
--- base/configure.in 2009-09-10 20:11:35.000000000 +0900
|
||||
+++ sepgsql-new/configure.in 2009-09-10 20:24:37.000000000 +0900
|
||||
--- base/configure.in 2009-12-15 16:55:43.000000000 +0900
|
||||
+++ sepgsql-new/configure.in 2009-12-15 17:05:57.000000000 +0900
|
||||
@@ -626,6 +626,19 @@ PGAC_ARG_BOOL(with, zlib, yes,
|
||||
AC_SUBST(with_zlib)
|
||||
|
||||
|
|
@ -457,8 +457,8 @@ diff -rpNU3 base/src/backend/access/heap/tuptoaster.c sepgsql-new/src/backend/ac
|
|||
|
||||
/*
|
||||
diff -rpNU3 base/src/backend/access/transam/xact.c sepgsql-new/src/backend/access/transam/xact.c
|
||||
--- base/src/backend/access/transam/xact.c 2009-03-15 17:47:25.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/access/transam/xact.c 2009-05-20 17:35:01.000000000 +0900
|
||||
--- base/src/backend/access/transam/xact.c 2009-12-15 16:55:43.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/access/transam/xact.c 2009-12-15 17:05:57.000000000 +0900
|
||||
@@ -35,6 +35,7 @@
|
||||
#include "miscadmin.h"
|
||||
#include "pg_trace.h"
|
||||
|
|
@ -469,7 +469,7 @@ diff -rpNU3 base/src/backend/access/transam/xact.c sepgsql-new/src/backend/acces
|
|||
#include "storage/procarray.h"
|
||||
@@ -137,6 +138,7 @@ typedef struct TransactionStateData
|
||||
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 */
|
||||
|
|
@ -477,7 +477,7 @@ diff -rpNU3 base/src/backend/access/transam/xact.c sepgsql-new/src/backend/acces
|
|||
|
||||
@@ -165,6 +167,7 @@ static TransactionStateData TopTransacti
|
||||
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 */
|
||||
|
|
@ -486,13 +486,13 @@ diff -rpNU3 base/src/backend/access/transam/xact.c sepgsql-new/src/backend/acces
|
|||
@@ -1571,6 +1574,7 @@ StartTransaction(void)
|
||||
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);
|
||||
|
||||
@@ -2071,6 +2075,11 @@ AbortTransaction(void)
|
||||
SetUserIdAndContext(s->prevUser, s->prevSecDefCxt);
|
||||
@@ -2072,6 +2076,11 @@ AbortTransaction(void)
|
||||
SetUserIdAndSecContext(s->prevUser, s->prevSecContext);
|
||||
|
||||
/*
|
||||
+ * Reset behavior of row-level access controls
|
||||
|
|
@ -503,8 +503,8 @@ diff -rpNU3 base/src/backend/access/transam/xact.c sepgsql-new/src/backend/acces
|
|||
* do abort processing
|
||||
*/
|
||||
AfterTriggerEndXact(false);
|
||||
@@ -3911,6 +3920,11 @@ AbortSubTransaction(void)
|
||||
SetUserIdAndContext(s->prevUser, s->prevSecDefCxt);
|
||||
@@ -3912,6 +3921,11 @@ AbortSubTransaction(void)
|
||||
SetUserIdAndSecContext(s->prevUser, s->prevSecContext);
|
||||
|
||||
/*
|
||||
+ * Reset behavior of row-level access controls
|
||||
|
|
@ -515,9 +515,9 @@ diff -rpNU3 base/src/backend/access/transam/xact.c sepgsql-new/src/backend/acces
|
|||
* We can skip all this stuff if the subxact failed before creating a
|
||||
* ResourceOwner...
|
||||
*/
|
||||
@@ -4052,6 +4066,7 @@ PushTransaction(void)
|
||||
@@ -4053,6 +4067,7 @@ PushTransaction(void)
|
||||
s->blockState = TBLOCK_SUBBEGIN;
|
||||
GetUserIdAndContext(&s->prevUser, &s->prevSecDefCxt);
|
||||
GetUserIdAndSecContext(&s->prevUser, &s->prevSecContext);
|
||||
s->prevXactReadOnly = XactReadOnly;
|
||||
+ s->prevRowlv = rowlvGetPerformingMode();
|
||||
|
||||
|
|
@ -921,8 +921,8 @@ diff -rpNU3 base/src/backend/catalog/heap.c sepgsql-new/src/backend/catalog/heap
|
|||
/*
|
||||
* Make a dependency link to force the relation to be deleted if its
|
||||
diff -rpNU3 base/src/backend/catalog/index.c sepgsql-new/src/backend/catalog/index.c
|
||||
--- base/src/backend/catalog/index.c 2009-02-02 11:47:17.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/catalog/index.c 2009-03-13 18:14:33.000000000 +0900
|
||||
--- base/src/backend/catalog/index.c 2009-12-15 16:55:43.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/catalog/index.c 2009-12-15 17:05:57.000000000 +0900
|
||||
@@ -37,6 +37,7 @@
|
||||
#include "catalog/pg_constraint.h"
|
||||
#include "catalog/pg_operator.h"
|
||||
|
|
@ -931,7 +931,7 @@ diff -rpNU3 base/src/backend/catalog/index.c sepgsql-new/src/backend/catalog/ind
|
|||
#include "catalog/pg_tablespace.h"
|
||||
#include "catalog/pg_type.h"
|
||||
#include "commands/tablecmds.h"
|
||||
@@ -315,6 +316,7 @@ AppendAttributeTuples(Relation indexRela
|
||||
@@ -316,6 +317,7 @@ AppendAttributeTuples(Relation indexRela
|
||||
|
||||
new_tuple = heap_addheader(Natts_pg_attribute,
|
||||
false,
|
||||
|
|
@ -939,7 +939,7 @@ diff -rpNU3 base/src/backend/catalog/index.c sepgsql-new/src/backend/catalog/ind
|
|||
ATTRIBUTE_TUPLE_SIZE,
|
||||
(void *) indexTupDesc->attrs[i]);
|
||||
|
||||
@@ -602,6 +604,12 @@ index_create(Oid heapRelationId,
|
||||
@@ -603,6 +605,12 @@ index_create(Oid heapRelationId,
|
||||
Assert(indexRelationId == RelationGetRelid(indexRelation));
|
||||
|
||||
/*
|
||||
|
|
@ -952,7 +952,7 @@ diff -rpNU3 base/src/backend/catalog/index.c sepgsql-new/src/backend/catalog/ind
|
|||
* Obtain exclusive lock on it. Although no other backends can see it
|
||||
* until we commit, this prevents deadlock-risk complaints from lock
|
||||
* manager in cases such as CLUSTER.
|
||||
@@ -624,7 +632,7 @@ index_create(Oid heapRelationId,
|
||||
@@ -625,7 +633,7 @@ index_create(Oid heapRelationId,
|
||||
*/
|
||||
InsertPgClassTuple(pg_class, indexRelation,
|
||||
RelationGetRelid(indexRelation),
|
||||
|
|
@ -963,7 +963,7 @@ diff -rpNU3 base/src/backend/catalog/index.c sepgsql-new/src/backend/catalog/ind
|
|||
heap_close(pg_class, RowExclusiveLock);
|
||||
diff -rpNU3 base/src/backend/catalog/namespace.c sepgsql-new/src/backend/catalog/namespace.c
|
||||
--- base/src/backend/catalog/namespace.c 2008-01-07 23:51:33.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/catalog/namespace.c 2009-09-10 20:24:37.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/catalog/namespace.c 2009-12-15 17:05:57.000000000 +0900
|
||||
@@ -37,6 +37,7 @@
|
||||
#include "commands/dbcommands.h"
|
||||
#include "miscadmin.h"
|
||||
|
|
@ -1092,8 +1092,8 @@ diff -rpNU3 base/src/backend/catalog/pg_namespace.c sepgsql-new/src/backend/cata
|
|||
nspoid = simple_heap_insert(nspdesc, tup);
|
||||
Assert(OidIsValid(nspoid));
|
||||
diff -rpNU3 base/src/backend/catalog/pg_proc.c sepgsql-new/src/backend/catalog/pg_proc.c
|
||||
--- base/src/backend/catalog/pg_proc.c 2008-01-07 23:51:33.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/catalog/pg_proc.c 2009-03-13 18:14:33.000000000 +0900
|
||||
--- base/src/backend/catalog/pg_proc.c 2009-12-15 16:55:43.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/catalog/pg_proc.c 2009-12-15 17:05:57.000000000 +0900
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "mb/pg_wchar.h"
|
||||
#include "miscadmin.h"
|
||||
|
|
@ -1112,7 +1112,7 @@ diff -rpNU3 base/src/backend/catalog/pg_proc.c sepgsql-new/src/backend/catalog/p
|
|||
{
|
||||
Oid retval;
|
||||
int parameterCount;
|
||||
@@ -339,6 +341,13 @@ ProcedureCreate(const char *procedureNam
|
||||
@@ -343,6 +345,13 @@ ProcedureCreate(const char *procedureNam
|
||||
|
||||
/* Okay, do it... */
|
||||
tup = heap_modifytuple(oldtup, tupDesc, values, nulls, replaces);
|
||||
|
|
@ -1126,7 +1126,7 @@ diff -rpNU3 base/src/backend/catalog/pg_proc.c sepgsql-new/src/backend/catalog/p
|
|||
simple_heap_update(rel, &tup->t_self, tup);
|
||||
|
||||
ReleaseSysCache(oldtup);
|
||||
@@ -348,6 +357,13 @@ ProcedureCreate(const char *procedureNam
|
||||
@@ -352,6 +361,13 @@ ProcedureCreate(const char *procedureNam
|
||||
{
|
||||
/* Creating a new procedure */
|
||||
tup = heap_formtuple(tupDesc, values, nulls);
|
||||
|
|
@ -2304,8 +2304,8 @@ diff -rpNU3 base/src/backend/commands/proclang.c sepgsql-new/src/backend/command
|
|||
}
|
||||
else
|
||||
diff -rpNU3 base/src/backend/commands/schemacmds.c sepgsql-new/src/backend/commands/schemacmds.c
|
||||
--- base/src/backend/commands/schemacmds.c 2008-01-07 23:51:33.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/commands/schemacmds.c 2009-06-19 15:02:12.000000000 +0900
|
||||
--- base/src/backend/commands/schemacmds.c 2009-12-15 16:55:43.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/commands/schemacmds.c 2009-12-15 17:05:57.000000000 +0900
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "commands/schemacmds.h"
|
||||
#include "miscadmin.h"
|
||||
|
|
@ -2319,12 +2319,12 @@ diff -rpNU3 base/src/backend/commands/schemacmds.c sepgsql-new/src/backend/comma
|
|||
Oid owner_uid;
|
||||
Oid saved_uid;
|
||||
+ Oid secid = InvalidOid;
|
||||
bool saved_secdefcxt;
|
||||
int save_sec_context;
|
||||
AclResult aclresult;
|
||||
|
||||
@@ -93,8 +95,15 @@ CreateSchemaCommand(CreateSchemaStmt *st
|
||||
if (saved_uid != owner_uid)
|
||||
SetUserIdAndContext(owner_uid, true);
|
||||
@@ -94,8 +96,15 @@ CreateSchemaCommand(CreateSchemaStmt *st
|
||||
SetUserIdAndSecContext(owner_uid,
|
||||
save_sec_context | SECURITY_LOCAL_USERID_CHANGE);
|
||||
|
||||
+ /* Explicitly given security label */
|
||||
+ if (stmt->secLabel)
|
||||
|
|
@ -2339,7 +2339,7 @@ diff -rpNU3 base/src/backend/commands/schemacmds.c sepgsql-new/src/backend/comma
|
|||
|
||||
/* Advance cmd counter to make the namespace visible */
|
||||
CommandCounterIncrement();
|
||||
@@ -412,3 +421,54 @@ AlterSchemaOwner_internal(HeapTuple tup,
|
||||
@@ -413,3 +422,54 @@ AlterSchemaOwner_internal(HeapTuple tup,
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -2454,8 +2454,8 @@ diff -rpNU3 base/src/backend/commands/sequence.c sepgsql-new/src/backend/command
|
|||
seq = read_info(elm, seqrel, &buf);
|
||||
|
||||
diff -rpNU3 base/src/backend/commands/tablecmds.c sepgsql-new/src/backend/commands/tablecmds.c
|
||||
--- base/src/backend/commands/tablecmds.c 2008-11-05 09:57:00.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/commands/tablecmds.c 2009-06-19 15:02:12.000000000 +0900
|
||||
--- base/src/backend/commands/tablecmds.c 2009-12-15 16:55:43.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/commands/tablecmds.c 2009-12-15 17:05:57.000000000 +0900
|
||||
@@ -57,6 +57,7 @@
|
||||
#include "parser/parser.h"
|
||||
#include "rewrite/rewriteDefine.h"
|
||||
|
|
@ -2472,7 +2472,7 @@ diff -rpNU3 base/src/backend/commands/tablecmds.c sepgsql-new/src/backend/comman
|
|||
bool localHasOids;
|
||||
int parentOidCount;
|
||||
List *rawDefaults;
|
||||
@@ -365,6 +367,10 @@ DefineRelation(CreateStmt *stmt, char re
|
||||
@@ -375,6 +377,10 @@ DefineRelation(CreateStmt *stmt, char re
|
||||
schema = MergeAttributes(schema, stmt->inhRelations,
|
||||
stmt->relation->istemp,
|
||||
&inheritOids, &old_constraints, &parentOidCount);
|
||||
|
|
@ -2483,7 +2483,7 @@ diff -rpNU3 base/src/backend/commands/tablecmds.c sepgsql-new/src/backend/comman
|
|||
|
||||
/*
|
||||
* Create a relation descriptor from the relation schema and create the
|
||||
@@ -422,6 +428,11 @@ DefineRelation(CreateStmt *stmt, char re
|
||||
@@ -432,6 +438,11 @@ DefineRelation(CreateStmt *stmt, char re
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2495,7 +2495,7 @@ diff -rpNU3 base/src/backend/commands/tablecmds.c sepgsql-new/src/backend/comman
|
|||
relationId = heap_create_with_catalog(relname,
|
||||
namespaceId,
|
||||
tablespaceId,
|
||||
@@ -434,7 +445,8 @@ DefineRelation(CreateStmt *stmt, char re
|
||||
@@ -444,7 +455,8 @@ DefineRelation(CreateStmt *stmt, char re
|
||||
parentOidCount,
|
||||
stmt->oncommit,
|
||||
reloptions,
|
||||
|
|
@ -2505,7 +2505,7 @@ diff -rpNU3 base/src/backend/commands/tablecmds.c sepgsql-new/src/backend/comman
|
|||
|
||||
StoreCatalogInheritance(relationId, inheritOids);
|
||||
|
||||
@@ -660,6 +672,9 @@ truncate_check_rel(Relation rel)
|
||||
@@ -670,6 +682,9 @@ truncate_check_rel(Relation rel)
|
||||
errmsg("permission denied: \"%s\" is a system catalog",
|
||||
RelationGetRelationName(rel))));
|
||||
|
||||
|
|
@ -2515,7 +2515,7 @@ diff -rpNU3 base/src/backend/commands/tablecmds.c sepgsql-new/src/backend/comman
|
|||
/*
|
||||
* We can never allow truncation of shared or nailed-in-cache relations,
|
||||
* because we can't support changing their relfilenode values.
|
||||
@@ -2591,11 +2606,14 @@ ATRewriteTable(AlteredTableInfo *tab, Oi
|
||||
@@ -2601,11 +2616,14 @@ ATRewriteTable(AlteredTableInfo *tab, Oi
|
||||
if (newrel)
|
||||
{
|
||||
Oid tupOid = InvalidOid;
|
||||
|
|
@ -2530,7 +2530,7 @@ diff -rpNU3 base/src/backend/commands/tablecmds.c sepgsql-new/src/backend/comman
|
|||
|
||||
/* Set dropped attributes to null in new tuple */
|
||||
foreach(lc, dropped_attrs)
|
||||
@@ -2627,6 +2645,9 @@ ATRewriteTable(AlteredTableInfo *tab, Oi
|
||||
@@ -2637,6 +2655,9 @@ ATRewriteTable(AlteredTableInfo *tab, Oi
|
||||
/* Preserve OID, if any */
|
||||
if (newTupDesc->tdhasoid)
|
||||
HeapTupleSetOid(tuple, tupOid);
|
||||
|
|
@ -2540,7 +2540,7 @@ diff -rpNU3 base/src/backend/commands/tablecmds.c sepgsql-new/src/backend/comman
|
|||
}
|
||||
|
||||
/* Now check any constraints on the possibly-changed tuple */
|
||||
@@ -3113,6 +3134,7 @@ ATExecAddColumn(AlteredTableInfo *tab, R
|
||||
@@ -3123,6 +3144,7 @@ ATExecAddColumn(AlteredTableInfo *tab, R
|
||||
|
||||
attributeTuple = heap_addheader(Natts_pg_attribute,
|
||||
false,
|
||||
|
|
@ -2548,7 +2548,7 @@ diff -rpNU3 base/src/backend/commands/tablecmds.c sepgsql-new/src/backend/comman
|
|||
ATTRIBUTE_TUPLE_SIZE,
|
||||
(void *) &attributeD);
|
||||
|
||||
@@ -4058,6 +4080,10 @@ ATAddForeignKeyConstraint(AlteredTableIn
|
||||
@@ -4068,6 +4090,10 @@ ATAddForeignKeyConstraint(AlteredTableIn
|
||||
opclasses);
|
||||
}
|
||||
|
||||
|
|
@ -2559,7 +2559,7 @@ diff -rpNU3 base/src/backend/commands/tablecmds.c sepgsql-new/src/backend/comman
|
|||
/*
|
||||
* Look up the equality operators to use in the constraint.
|
||||
*
|
||||
@@ -6776,6 +6802,128 @@ AlterSeqNamespaces(Relation classRel, Re
|
||||
@@ -6786,6 +6812,128 @@ AlterSeqNamespaces(Relation classRel, Re
|
||||
relation_close(depRel, AccessShareLock);
|
||||
}
|
||||
|
||||
|
|
@ -2710,8 +2710,8 @@ diff -rpNU3 base/src/backend/executor/execJunk.c sepgsql-new/src/backend/executo
|
|||
/*
|
||||
* Use the given slot, or make a new slot if we weren't given one.
|
||||
diff -rpNU3 base/src/backend/executor/execMain.c sepgsql-new/src/backend/executor/execMain.c
|
||||
--- base/src/backend/executor/execMain.c 2008-09-25 15:09:40.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/executor/execMain.c 2009-06-10 21:37:54.000000000 +0900
|
||||
--- base/src/backend/executor/execMain.c 2009-12-15 16:55:43.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/executor/execMain.c 2009-12-15 17:05:57.000000000 +0900
|
||||
@@ -38,6 +38,7 @@
|
||||
#include "access/xact.h"
|
||||
#include "catalog/heap.h"
|
||||
|
|
@ -2972,7 +2972,7 @@ diff -rpNU3 base/src/backend/executor/execMain.c sepgsql-new/src/backend/executo
|
|||
* replace the heap tuple
|
||||
*
|
||||
* Note: if es_crosscheck_snapshot isn't InvalidSnapshot, we check that
|
||||
@@ -2733,7 +2857,8 @@ OpenIntoRel(QueryDesc *queryDesc)
|
||||
@@ -2748,7 +2872,8 @@ OpenIntoRel(QueryDesc *queryDesc)
|
||||
0,
|
||||
into->onCommit,
|
||||
reloptions,
|
||||
|
|
@ -2982,7 +2982,7 @@ diff -rpNU3 base/src/backend/executor/execMain.c sepgsql-new/src/backend/executo
|
|||
|
||||
FreeTupleDesc(tupdesc);
|
||||
|
||||
@@ -2839,6 +2964,10 @@ intorel_receive(TupleTableSlot *slot, De
|
||||
@@ -2854,6 +2979,10 @@ intorel_receive(TupleTableSlot *slot, De
|
||||
|
||||
tuple = ExecCopySlotTuple(slot);
|
||||
|
||||
|
|
@ -4537,8 +4537,8 @@ diff -rpNU3 base/src/backend/parser/parse_target.c sepgsql-new/src/backend/parse
|
|||
}
|
||||
}
|
||||
diff -rpNU3 base/src/backend/postmaster/postmaster.c sepgsql-new/src/backend/postmaster/postmaster.c
|
||||
--- base/src/backend/postmaster/postmaster.c 2009-09-10 20:11:35.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/postmaster/postmaster.c 2009-09-10 20:24:37.000000000 +0900
|
||||
--- base/src/backend/postmaster/postmaster.c 2009-12-15 16:55:43.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/postmaster/postmaster.c 2009-12-15 17:05:57.000000000 +0900
|
||||
@@ -107,6 +107,7 @@
|
||||
#include "postmaster/pgarch.h"
|
||||
#include "postmaster/postmaster.h"
|
||||
|
|
@ -4568,7 +4568,7 @@ diff -rpNU3 base/src/backend/postmaster/postmaster.c sepgsql-new/src/backend/pos
|
|||
/* If we need to signal the autovacuum launcher, do so now */
|
||||
if (avlauncher_needs_signal)
|
||||
{
|
||||
@@ -1921,6 +1927,8 @@ SIGHUP_handler(SIGNAL_ARGS)
|
||||
@@ -1923,6 +1929,8 @@ SIGHUP_handler(SIGNAL_ARGS)
|
||||
signal_child(PgArchPID, SIGHUP);
|
||||
if (SysLoggerPID != 0)
|
||||
signal_child(SysLoggerPID, SIGHUP);
|
||||
|
|
@ -4577,7 +4577,7 @@ diff -rpNU3 base/src/backend/postmaster/postmaster.c sepgsql-new/src/backend/pos
|
|||
/* PgStatPID does not currently need SIGHUP */
|
||||
|
||||
/* Reload authentication config files too */
|
||||
@@ -1978,6 +1986,9 @@ pmdie(SIGNAL_ARGS)
|
||||
@@ -1980,6 +1988,9 @@ pmdie(SIGNAL_ARGS)
|
||||
/* and the walwriter too */
|
||||
if (WalWriterPID != 0)
|
||||
signal_child(WalWriterPID, SIGTERM);
|
||||
|
|
@ -4587,7 +4587,7 @@ diff -rpNU3 base/src/backend/postmaster/postmaster.c sepgsql-new/src/backend/pos
|
|||
pmState = PM_WAIT_BACKENDS;
|
||||
}
|
||||
|
||||
@@ -2017,6 +2028,9 @@ pmdie(SIGNAL_ARGS)
|
||||
@@ -2019,6 +2030,9 @@ pmdie(SIGNAL_ARGS)
|
||||
/* and the walwriter too */
|
||||
if (WalWriterPID != 0)
|
||||
signal_child(WalWriterPID, SIGTERM);
|
||||
|
|
@ -4597,7 +4597,7 @@ diff -rpNU3 base/src/backend/postmaster/postmaster.c sepgsql-new/src/backend/pos
|
|||
pmState = PM_WAIT_BACKENDS;
|
||||
}
|
||||
|
||||
@@ -2050,6 +2064,8 @@ pmdie(SIGNAL_ARGS)
|
||||
@@ -2052,6 +2066,8 @@ pmdie(SIGNAL_ARGS)
|
||||
signal_child(PgArchPID, SIGQUIT);
|
||||
if (PgStatPID != 0)
|
||||
signal_child(PgStatPID, SIGQUIT);
|
||||
|
|
@ -4606,7 +4606,7 @@ diff -rpNU3 base/src/backend/postmaster/postmaster.c sepgsql-new/src/backend/pos
|
|||
ExitPostmaster(0);
|
||||
break;
|
||||
}
|
||||
@@ -2298,6 +2314,16 @@ reaper(SIGNAL_ARGS)
|
||||
@@ -2300,6 +2316,16 @@ reaper(SIGNAL_ARGS)
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
@ -4623,7 +4623,7 @@ diff -rpNU3 base/src/backend/postmaster/postmaster.c sepgsql-new/src/backend/pos
|
|||
/*
|
||||
* Else do standard backend child cleanup.
|
||||
*/
|
||||
@@ -2465,6 +2491,18 @@ HandleChildCrash(int pid, int exitstatus
|
||||
@@ -2467,6 +2493,18 @@ HandleChildCrash(int pid, int exitstatus
|
||||
signal_child(AutoVacPID, (SendStop ? SIGSTOP : SIGQUIT));
|
||||
}
|
||||
|
||||
|
|
@ -4642,7 +4642,7 @@ diff -rpNU3 base/src/backend/postmaster/postmaster.c sepgsql-new/src/backend/pos
|
|||
/*
|
||||
* 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
|
||||
@@ -2584,7 +2622,8 @@ PostmasterStateMachine(void)
|
||||
@@ -2586,7 +2624,8 @@ PostmasterStateMachine(void)
|
||||
StartupPID == 0 &&
|
||||
(BgWriterPID == 0 || !FatalError) &&
|
||||
WalWriterPID == 0 &&
|
||||
|
|
@ -8872,9 +8872,9 @@ diff -rpNU3 base/src/backend/security/sepgsql/policy/sepostgresql-devel.te sepgs
|
|||
+ allow sepgsql_database_type user_home_t : db_database { load_module };
|
||||
+')
|
||||
diff -rpNU3 base/src/backend/storage/file/fd.c sepgsql-new/src/backend/storage/file/fd.c
|
||||
--- base/src/backend/storage/file/fd.c 2008-01-07 23:51:33.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/storage/file/fd.c 2009-03-13 18:14:33.000000000 +0900
|
||||
@@ -1241,6 +1241,13 @@ FileTruncate(File file, long offset)
|
||||
--- base/src/backend/storage/file/fd.c 2009-12-15 16:55:43.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/storage/file/fd.c 2009-12-15 17:05:57.000000000 +0900
|
||||
@@ -1251,6 +1251,13 @@ FileTruncate(File file, long offset)
|
||||
return returnCode;
|
||||
}
|
||||
|
||||
|
|
@ -9096,8 +9096,8 @@ diff -rpNU3 base/src/backend/tcop/pquery.c sepgsql-new/src/backend/tcop/pquery.c
|
|||
|
||||
/*
|
||||
diff -rpNU3 base/src/backend/tcop/utility.c sepgsql-new/src/backend/tcop/utility.c
|
||||
--- base/src/backend/tcop/utility.c 2008-11-05 09:57:00.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/tcop/utility.c 2009-06-19 15:02:12.000000000 +0900
|
||||
--- base/src/backend/tcop/utility.c 2009-12-15 16:55:43.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/tcop/utility.c 2009-12-15 17:05:57.000000000 +0900
|
||||
@@ -49,6 +49,7 @@
|
||||
#include "postmaster/bgwriter.h"
|
||||
#include "rewrite/rewriteDefine.h"
|
||||
|
|
@ -9114,7 +9114,7 @@ diff -rpNU3 base/src/backend/tcop/utility.c sepgsql-new/src/backend/tcop/utility
|
|||
case T_AlterSeqStmt:
|
||||
case T_AlterTableStmt:
|
||||
case T_RenameStmt:
|
||||
@@ -744,6 +746,10 @@ ProcessUtility(Node *parsetree,
|
||||
@@ -766,6 +768,10 @@ ProcessUtility(Node *parsetree,
|
||||
ExecAlterOwnerStmt((AlterOwnerStmt *) parsetree);
|
||||
break;
|
||||
|
||||
|
|
@ -9125,7 +9125,7 @@ diff -rpNU3 base/src/backend/tcop/utility.c sepgsql-new/src/backend/tcop/utility
|
|||
case T_AlterTableStmt:
|
||||
{
|
||||
List *stmts;
|
||||
@@ -1022,6 +1028,10 @@ ProcessUtility(Node *parsetree,
|
||||
@@ -1046,6 +1052,10 @@ ProcessUtility(Node *parsetree,
|
||||
LoadStmt *stmt = (LoadStmt *) parsetree;
|
||||
|
||||
closeAllVfds(); /* probably not necessary... */
|
||||
|
|
@ -9136,7 +9136,7 @@ diff -rpNU3 base/src/backend/tcop/utility.c sepgsql-new/src/backend/tcop/utility
|
|||
/* Allowed names are restricted if you're not superuser */
|
||||
load_file(stmt->filename, !superuser());
|
||||
}
|
||||
@@ -1709,6 +1719,28 @@ CreateCommandTag(Node *parsetree)
|
||||
@@ -1735,6 +1745,28 @@ CreateCommandTag(Node *parsetree)
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -9165,7 +9165,7 @@ diff -rpNU3 base/src/backend/tcop/utility.c sepgsql-new/src/backend/tcop/utility
|
|||
case T_AlterTableStmt:
|
||||
{
|
||||
AlterTableStmt *stmt = (AlterTableStmt *) parsetree;
|
||||
@@ -2248,6 +2280,10 @@ GetCommandLogLevel(Node *parsetree)
|
||||
@@ -2274,6 +2306,10 @@ GetCommandLogLevel(Node *parsetree)
|
||||
lev = LOGSTMT_DDL;
|
||||
break;
|
||||
|
||||
|
|
@ -9198,8 +9198,8 @@ diff -rpNU3 base/src/backend/utils/adt/genfile.c sepgsql-new/src/backend/utils/a
|
|||
(seek_offset >= 0) ? SEEK_SET : SEEK_END) != 0)
|
||||
ereport(ERROR,
|
||||
diff -rpNU3 base/src/backend/utils/adt/ri_triggers.c sepgsql-new/src/backend/utils/adt/ri_triggers.c
|
||||
--- base/src/backend/utils/adt/ri_triggers.c 2008-09-25 15:09:40.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/utils/adt/ri_triggers.c 2009-05-20 17:08:02.000000000 +0900
|
||||
--- base/src/backend/utils/adt/ri_triggers.c 2009-12-15 16:55:43.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/utils/adt/ri_triggers.c 2009-12-15 17:05:57.000000000 +0900
|
||||
@@ -37,6 +37,7 @@
|
||||
#include "parser/parse_coerce.h"
|
||||
#include "parser/parse_relation.h"
|
||||
|
|
@ -9238,17 +9238,17 @@ diff -rpNU3 base/src/backend/utils/adt/ri_triggers.c sepgsql-new/src/backend/uti
|
|||
/* Check result */
|
||||
if (spi_result != SPI_OK_SELECT)
|
||||
elog(ERROR, "SPI_execute_snapshot returned %d", spi_result);
|
||||
@@ -3256,6 +3266,7 @@ ri_PerformCheck(RI_QueryKey *qkey, SPIPl
|
||||
@@ -3257,6 +3267,7 @@ ri_PerformCheck(RI_QueryKey *qkey, SPIPl
|
||||
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];
|
||||
|
||||
@@ -3336,12 +3347,19 @@ ri_PerformCheck(RI_QueryKey *qkey, SPIPl
|
||||
GetUserIdAndContext(&save_userid, &save_secdefcxt);
|
||||
SetUserIdAndContext(RelationGetForm(query_rel)->relowner, true);
|
||||
@@ -3338,12 +3349,19 @@ ri_PerformCheck(RI_QueryKey *qkey, SPIPl
|
||||
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);
|
||||
|
|
@ -9263,8 +9263,8 @@ diff -rpNU3 base/src/backend/utils/adt/ri_triggers.c sepgsql-new/src/backend/uti
|
|||
+ /* 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 -rpNU3 base/src/backend/utils/adt/varlena.c sepgsql-new/src/backend/utils/adt/varlena.c
|
||||
--- base/src/backend/utils/adt/varlena.c 2008-03-19 09:48:23.000000000 +0900
|
||||
|
|
@ -9454,8 +9454,8 @@ diff -rpNU3 base/src/backend/utils/cache/plancache.c sepgsql-new/src/backend/uti
|
|||
/* other cases shouldn't happen, but return NULL */
|
||||
break;
|
||||
diff -rpNU3 base/src/backend/utils/cache/relcache.c sepgsql-new/src/backend/utils/cache/relcache.c
|
||||
--- base/src/backend/utils/cache/relcache.c 2009-02-02 11:47:17.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/utils/cache/relcache.c 2009-03-13 18:14:33.000000000 +0900
|
||||
--- base/src/backend/utils/cache/relcache.c 2009-12-15 16:55:43.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/utils/cache/relcache.c 2009-12-15 17:05:57.000000000 +0900
|
||||
@@ -46,6 +46,7 @@
|
||||
#include "catalog/pg_opclass.h"
|
||||
#include "catalog/pg_proc.h"
|
||||
|
|
@ -9490,7 +9490,7 @@ diff -rpNU3 base/src/backend/utils/cache/relcache.c sepgsql-new/src/backend/util
|
|||
/*
|
||||
* initialize the relation lock manager information
|
||||
*/
|
||||
@@ -1462,6 +1473,12 @@ formrdesc(const char *relationName, Oid
|
||||
@@ -1464,6 +1475,12 @@ formrdesc(const char *relationName, Oid
|
||||
relation->rd_rel->relfilenode = RelationGetRelid(relation);
|
||||
|
||||
/*
|
||||
|
|
@ -9503,7 +9503,7 @@ diff -rpNU3 base/src/backend/utils/cache/relcache.c sepgsql-new/src/backend/util
|
|||
* initialize the relation lock manager information
|
||||
*/
|
||||
RelationInitLockInfo(relation); /* see lmgr.c */
|
||||
@@ -2687,6 +2704,13 @@ BuildHardcodedDescriptor(int natts, Form
|
||||
@@ -2737,6 +2754,13 @@ BuildHardcodedDescriptor(int natts, Form
|
||||
|
||||
oldcxt = MemoryContextSwitchTo(CacheMemoryContext);
|
||||
|
||||
|
|
@ -9517,7 +9517,7 @@ diff -rpNU3 base/src/backend/utils/cache/relcache.c sepgsql-new/src/backend/util
|
|||
result = CreateTemplateTupleDesc(natts, hasoids);
|
||||
result->tdtypeid = RECORDOID; /* not right, but we don't care */
|
||||
result->tdtypmod = -1;
|
||||
@@ -3446,6 +3470,12 @@ load_relcache_init_file(void)
|
||||
@@ -3496,6 +3520,12 @@ load_relcache_init_file(void)
|
||||
rel->rd_options = NULL;
|
||||
}
|
||||
|
||||
|
|
@ -9643,8 +9643,8 @@ diff -rpNU3 base/src/backend/utils/fmgr/dfmgr.c sepgsql-new/src/backend/utils/fm
|
|||
{
|
||||
bool have_slash;
|
||||
diff -rpNU3 base/src/backend/utils/fmgr/fmgr.c sepgsql-new/src/backend/utils/fmgr/fmgr.c
|
||||
--- base/src/backend/utils/fmgr/fmgr.c 2009-02-02 11:47:17.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/utils/fmgr/fmgr.c 2009-03-13 18:14:33.000000000 +0900
|
||||
--- base/src/backend/utils/fmgr/fmgr.c 2009-12-15 16:55:43.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/utils/fmgr/fmgr.c 2009-12-15 17:05:57.000000000 +0900
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "executor/spi.h"
|
||||
#include "miscadmin.h"
|
||||
|
|
@ -9711,8 +9711,8 @@ diff -rpNU3 base/src/backend/utils/init/postinit.c sepgsql-new/src/backend/utils
|
|||
* Figure out our postgres user id, and see if we are a superuser.
|
||||
*
|
||||
diff -rpNU3 base/src/backend/utils/misc/guc.c sepgsql-new/src/backend/utils/misc/guc.c
|
||||
--- base/src/backend/utils/misc/guc.c 2009-09-10 20:11:35.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/utils/misc/guc.c 2009-09-10 20:24:37.000000000 +0900
|
||||
--- base/src/backend/utils/misc/guc.c 2009-12-15 16:55:43.000000000 +0900
|
||||
+++ sepgsql-new/src/backend/utils/misc/guc.c 2009-12-15 17:05:57.000000000 +0900
|
||||
@@ -54,6 +54,7 @@
|
||||
#include "postmaster/postmaster.h"
|
||||
#include "postmaster/syslogger.h"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue