diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2008-10-23 14:34:34 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2008-10-23 14:34:34 +0000 |
commit | d5789018c7de551bcce45b6924dda588f9858162 (patch) | |
tree | b71faa334f72ea5f7a169a920970c81990861c6f /src | |
parent | 7356381ef57e6ddb09f1b1c72085e5102d0baa1e (diff) | |
download | postgresql-d5789018c7de551bcce45b6924dda588f9858162.tar.gz postgresql-d5789018c7de551bcce45b6924dda588f9858162.zip |
Remove useless ps_OuterTupleSlot field from PlanState. I suppose this was
used long ago, but in the current code the ecxt_outertuple field of
ExprContext is doing all the work. Spotted by Ran Tang.
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/executor/nodeHashjoin.c | 5 | ||||
-rw-r--r-- | src/backend/executor/nodeNestloop.c | 12 | ||||
-rw-r--r-- | src/include/nodes/execnodes.h | 9 |
3 files changed, 6 insertions, 20 deletions
diff --git a/src/backend/executor/nodeHashjoin.c b/src/backend/executor/nodeHashjoin.c index 4534845b527..319b48b6a80 100644 --- a/src/backend/executor/nodeHashjoin.c +++ b/src/backend/executor/nodeHashjoin.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/executor/nodeHashjoin.c,v 1.95 2008/08/15 19:20:42 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/executor/nodeHashjoin.c,v 1.96 2008/10/23 14:34:34 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -193,7 +193,6 @@ ExecHashJoin(HashJoinState *node) return NULL; } - node->js.ps.ps_OuterTupleSlot = outerTupleSlot; econtext->ecxt_outertuple = outerTupleSlot; node->hj_NeedNewOuter = false; node->hj_MatchedOuter = false; @@ -482,7 +481,6 @@ ExecInitHashJoin(HashJoin *node, EState *estate, int eflags) /* child Hash node needs to evaluate inner hash keys, too */ ((HashState *) innerPlanState(hjstate))->hashkeys = rclauses; - hjstate->js.ps.ps_OuterTupleSlot = NULL; hjstate->js.ps.ps_TupFromTlist = false; hjstate->hj_NeedNewOuter = true; hjstate->hj_MatchedOuter = false; @@ -884,7 +882,6 @@ ExecReScanHashJoin(HashJoinState *node, ExprContext *exprCtxt) node->hj_CurBucketNo = 0; node->hj_CurTuple = NULL; - node->js.ps.ps_OuterTupleSlot = NULL; node->js.ps.ps_TupFromTlist = false; node->hj_NeedNewOuter = true; node->hj_MatchedOuter = false; diff --git a/src/backend/executor/nodeNestloop.c b/src/backend/executor/nodeNestloop.c index 27e3582649e..8b6fe76b120 100644 --- a/src/backend/executor/nodeNestloop.c +++ b/src/backend/executor/nodeNestloop.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/executor/nodeNestloop.c,v 1.48 2008/08/15 19:20:42 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/executor/nodeNestloop.c,v 1.49 2008/10/23 14:34:34 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -79,12 +79,6 @@ ExecNestLoop(NestLoopState *node) econtext = node->js.ps.ps_ExprContext; /* - * get the current outer tuple - */ - outerTupleSlot = node->js.ps.ps_OuterTupleSlot; - econtext->ecxt_outertuple = outerTupleSlot; - - /* * Check to see if we're still projecting out tuples from a previous join * tuple (because there is a function-returning-set in the projection * expressions). If so, try to project another one. @@ -135,7 +129,6 @@ ExecNestLoop(NestLoopState *node) } ENL1_printf("saving new outer tuple information"); - node->js.ps.ps_OuterTupleSlot = outerTupleSlot; econtext->ecxt_outertuple = outerTupleSlot; node->nl_NeedNewOuter = false; node->nl_MatchedOuter = false; @@ -357,7 +350,6 @@ ExecInitNestLoop(NestLoop *node, EState *estate, int eflags) /* * finally, wipe the current outer tuple clean. */ - nlstate->js.ps.ps_OuterTupleSlot = NULL; nlstate->js.ps.ps_TupFromTlist = false; nlstate->nl_NeedNewOuter = true; nlstate->nl_MatchedOuter = false; @@ -426,8 +418,6 @@ ExecReScanNestLoop(NestLoopState *node, ExprContext *exprCtxt) if (outerPlan->chgParam == NULL) ExecReScan(outerPlan, exprCtxt); - /* let outerPlan to free its result tuple ... */ - node->js.ps.ps_OuterTupleSlot = NULL; node->js.ps.ps_TupFromTlist = false; node->nl_NeedNewOuter = true; node->nl_MatchedOuter = false; diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h index c10204a9100..5b46f6e7087 100644 --- a/src/include/nodes/execnodes.h +++ b/src/include/nodes/execnodes.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/nodes/execnodes.h,v 1.190 2008/10/07 19:27:04 tgl Exp $ + * $PostgreSQL: pgsql/src/include/nodes/execnodes.h,v 1.191 2008/10/23 14:34:34 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -868,7 +868,7 @@ typedef struct PlanState Plan *plan; /* associated Plan node */ - EState *state; /* at execution time, state's of individual + EState *state; /* at execution time, states of individual * nodes point to one EState for the whole * top-level plan */ @@ -896,12 +896,11 @@ typedef struct PlanState /* * Other run-time state needed by most if not all node types. */ - TupleTableSlot *ps_OuterTupleSlot; /* slot for current "outer" tuple */ TupleTableSlot *ps_ResultTupleSlot; /* slot for my result tuples */ ExprContext *ps_ExprContext; /* node's expression-evaluation context */ ProjectionInfo *ps_ProjInfo; /* info for doing tuple projection */ - bool ps_TupFromTlist;/* state flag for processing set-valued - * functions in targetlist */ + bool ps_TupFromTlist; /* state flag for processing set-valued + * functions in targetlist */ } PlanState; /* ---------------- |