diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c index 51478f0625..7a8730ce02 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 15b5094881..739bd99897 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))