Fixed problem with multiple portals shown up in portals_p2 regression
test after new AllocSet code. Activated optimal AllocSet blocksize and chunk limit. Jan
This commit is contained in:
parent
65d320e7e4
commit
a5f3abacb5
@ -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,
|
||||
|
@ -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))
|
||||
|
Loading…
x
Reference in New Issue
Block a user