aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/executor/execMain.c18
-rw-r--r--src/backend/utils/mmgr/aset.c11
2 files changed, 17 insertions, 12 deletions
diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c
index 51478f06253..7a8730ce021 100644
--- a/src/backend/executor/execMain.c
+++ b/src/backend/executor/execMain.c
@@ -26,7 +26,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.71 1999/02/06 16:50:23 wieck Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.72 1999/02/07 13:37:55 wieck Exp $
*
*-------------------------------------------------------------------------
*/
@@ -128,8 +128,22 @@ ExecutorStart(QueryDesc *queryDesc, EState *estate)
memset(estate->es_param_exec_vals, 0, queryDesc->plantree->nParamExec * sizeof(ParamExecData));
}
- estate->es_snapshot = QuerySnapshot;
+ /*
+ * Make our own private copy of the current queries snapshot data
+ */
+ estate->es_snapshot = (Snapshot)palloc(sizeof(SnapshotData));
+ memcpy(estate->es_snapshot, QuerySnapshot, sizeof(SnapshotData));
+ if (estate->es_snapshot->xcnt > 0)
+ {
+ estate->es_snapshot->xip = (TransactionId *)
+ palloc(estate->es_snapshot->xcnt * sizeof(TransactionId));
+ memcpy(estate->es_snapshot->xip, QuerySnapshot->xip,
+ estate->es_snapshot->xcnt * sizeof(TransactionId));
+ }
+ /*
+ * Initialize the plan
+ */
result = InitPlan(queryDesc->operation,
queryDesc->parsetree,
queryDesc->plantree,
diff --git a/src/backend/utils/mmgr/aset.c b/src/backend/utils/mmgr/aset.c
index 15b5094881e..739bd998971 100644
--- a/src/backend/utils/mmgr/aset.c
+++ b/src/backend/utils/mmgr/aset.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/mmgr/aset.c,v 1.12 1999/02/06 16:50:25 wieck Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/mmgr/aset.c,v 1.13 1999/02/07 13:37:56 wieck Exp $
*
* NOTE:
* This is a new (Feb. 05, 1999) implementation of the allocation set
@@ -38,17 +38,8 @@
#undef realloc
-/*
#define ALLOC_BLOCK_SIZE 8192
#define ALLOC_CHUNK_LIMIT 512
- *
- * The above settings for block size and chunk limit gain better
- * performance. But the ones below force a bug that I didn't found
- * up to now letting the portals_p2 regression test fail.
- *
- */
-#define ALLOC_BLOCK_SIZE 16384
-#define ALLOC_CHUNK_LIMIT 256
#define ALLOC_BLOCKHDRSZ MAXALIGN(sizeof(AllocBlockData))
#define ALLOC_CHUNKHDRSZ MAXALIGN(sizeof(AllocChunkData))