Commit a5f3abac authored by Jan Wieck's avatar Jan Wieck

Fixed problem with multiple portals shown up in portals_p2 regression

test after new AllocSet code.

Activated optimal AllocSet blocksize and chunk limit.

Jan
parent 65d320e7
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
* *
* *
* IDENTIFICATION * 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) ...@@ -128,8 +128,22 @@ ExecutorStart(QueryDesc *queryDesc, EState *estate)
memset(estate->es_param_exec_vals, 0, queryDesc->plantree->nParamExec * sizeof(ParamExecData)); 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, result = InitPlan(queryDesc->operation,
queryDesc->parsetree, queryDesc->parsetree,
queryDesc->plantree, queryDesc->plantree,
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * 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: * NOTE:
* This is a new (Feb. 05, 1999) implementation of the allocation set * This is a new (Feb. 05, 1999) implementation of the allocation set
...@@ -38,17 +38,8 @@ ...@@ -38,17 +38,8 @@
#undef realloc #undef realloc
/*
#define ALLOC_BLOCK_SIZE 8192 #define ALLOC_BLOCK_SIZE 8192
#define ALLOC_CHUNK_LIMIT 512 #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_BLOCKHDRSZ MAXALIGN(sizeof(AllocBlockData))
#define ALLOC_CHUNKHDRSZ MAXALIGN(sizeof(AllocChunkData)) #define ALLOC_CHUNKHDRSZ MAXALIGN(sizeof(AllocChunkData))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment