mirror of
https://github.com/postgres/postgres.git
synced 2025-07-12 21:01:52 +03:00
Phase 1 of read-only-plans project: cause executor state nodes to point
to plan nodes, not vice-versa. All executor state nodes now inherit from struct PlanState. Copying of plan trees has been simplified by not storing a list of SubPlans in Plan nodes (eliminating duplicate links). The executor still needs such a list, but it can build it during ExecutorStart since it has to scan the plan tree anyway. No initdb forced since no stored-on-disk structures changed, but you will need a full recompile because of node-numbering changes.
This commit is contained in:
@ -15,7 +15,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/execTuples.c,v 1.60 2002/09/28 20:00:19 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/execTuples.c,v 1.61 2002/12/05 15:50:32 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -483,11 +483,11 @@ ExecSetSlotDescriptorIsNew(TupleTableSlot *slot, /* slot to change */
|
||||
* ----------------
|
||||
*/
|
||||
void
|
||||
ExecInitResultTupleSlot(EState *estate, CommonState *commonstate)
|
||||
ExecInitResultTupleSlot(EState *estate, PlanState *planstate)
|
||||
{
|
||||
INIT_SLOT_DEFS;
|
||||
INIT_SLOT_ALLOC;
|
||||
commonstate->cs_ResultTupleSlot = slot;
|
||||
planstate->ps_ResultTupleSlot = slot;
|
||||
}
|
||||
|
||||
/* ----------------
|
||||
@ -495,11 +495,11 @@ ExecInitResultTupleSlot(EState *estate, CommonState *commonstate)
|
||||
* ----------------
|
||||
*/
|
||||
void
|
||||
ExecInitScanTupleSlot(EState *estate, CommonScanState *commonscanstate)
|
||||
ExecInitScanTupleSlot(EState *estate, ScanState *scanstate)
|
||||
{
|
||||
INIT_SLOT_DEFS;
|
||||
INIT_SLOT_ALLOC;
|
||||
commonscanstate->css_ScanTupleSlot = slot;
|
||||
scanstate->ss_ScanTupleSlot = slot;
|
||||
}
|
||||
|
||||
/* ----------------
|
||||
|
Reference in New Issue
Block a user