mirror of
https://github.com/postgres/postgres.git
synced 2025-08-25 20:23:07 +03:00
Make NestLoop plan nodes pass outer-relation variables into their inner
relation using the general PARAM_EXEC executor parameter mechanism, rather than the ad-hoc kluge of passing the outer tuple down through ExecReScan. The previous method was hard to understand and could never be extended to handle parameters coming from multiple join levels. This patch doesn't change the set of possible plans nor have any significant performance effect, but it's necessary infrastructure for future generalization of the concept of an inner indexscan plan. ExecReScan's second parameter is now unused, so it's removed.
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/executor.h,v 1.169 2010/07/09 14:06:01 rhaas Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/executor.h,v 1.170 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -82,7 +82,7 @@ extern PGDLLIMPORT ExecutorCheckPerms_hook_type ExecutorCheckPerms_hook;
|
||||
/*
|
||||
* prototypes from functions in execAmi.c
|
||||
*/
|
||||
extern void ExecReScan(PlanState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScan(PlanState *node);
|
||||
extern void ExecMarkPos(PlanState *node);
|
||||
extern void ExecRestrPos(PlanState *node);
|
||||
extern bool ExecSupportsMarkRestore(NodeTag plantype);
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeAgg.h,v 1.32 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeAgg.h,v 1.33 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -19,7 +19,7 @@
|
||||
extern AggState *ExecInitAgg(Agg *node, EState *estate, int eflags);
|
||||
extern TupleTableSlot *ExecAgg(AggState *node);
|
||||
extern void ExecEndAgg(AggState *node);
|
||||
extern void ExecReScanAgg(AggState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanAgg(AggState *node);
|
||||
|
||||
extern Size hash_agg_entry_size(int numAggs);
|
||||
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeAppend.h,v 1.30 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeAppend.h,v 1.31 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -19,6 +19,6 @@
|
||||
extern AppendState *ExecInitAppend(Append *node, EState *estate, int eflags);
|
||||
extern TupleTableSlot *ExecAppend(AppendState *node);
|
||||
extern void ExecEndAppend(AppendState *node);
|
||||
extern void ExecReScanAppend(AppendState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanAppend(AppendState *node);
|
||||
|
||||
#endif /* NODEAPPEND_H */
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeBitmapAnd.h,v 1.8 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeBitmapAnd.h,v 1.9 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -19,6 +19,6 @@
|
||||
extern BitmapAndState *ExecInitBitmapAnd(BitmapAnd *node, EState *estate, int eflags);
|
||||
extern Node *MultiExecBitmapAnd(BitmapAndState *node);
|
||||
extern void ExecEndBitmapAnd(BitmapAndState *node);
|
||||
extern void ExecReScanBitmapAnd(BitmapAndState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanBitmapAnd(BitmapAndState *node);
|
||||
|
||||
#endif /* NODEBITMAPAND_H */
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeBitmapHeapscan.h,v 1.8 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeBitmapHeapscan.h,v 1.9 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -19,6 +19,6 @@
|
||||
extern BitmapHeapScanState *ExecInitBitmapHeapScan(BitmapHeapScan *node, EState *estate, int eflags);
|
||||
extern TupleTableSlot *ExecBitmapHeapScan(BitmapHeapScanState *node);
|
||||
extern void ExecEndBitmapHeapScan(BitmapHeapScanState *node);
|
||||
extern void ExecBitmapHeapReScan(BitmapHeapScanState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanBitmapHeapScan(BitmapHeapScanState *node);
|
||||
|
||||
#endif /* NODEBITMAPHEAPSCAN_H */
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeBitmapIndexscan.h,v 1.8 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeBitmapIndexscan.h,v 1.9 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -19,6 +19,6 @@
|
||||
extern BitmapIndexScanState *ExecInitBitmapIndexScan(BitmapIndexScan *node, EState *estate, int eflags);
|
||||
extern Node *MultiExecBitmapIndexScan(BitmapIndexScanState *node);
|
||||
extern void ExecEndBitmapIndexScan(BitmapIndexScanState *node);
|
||||
extern void ExecBitmapIndexReScan(BitmapIndexScanState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanBitmapIndexScan(BitmapIndexScanState *node);
|
||||
|
||||
#endif /* NODEBITMAPINDEXSCAN_H */
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeBitmapOr.h,v 1.8 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeBitmapOr.h,v 1.9 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -19,6 +19,6 @@
|
||||
extern BitmapOrState *ExecInitBitmapOr(BitmapOr *node, EState *estate, int eflags);
|
||||
extern Node *MultiExecBitmapOr(BitmapOrState *node);
|
||||
extern void ExecEndBitmapOr(BitmapOrState *node);
|
||||
extern void ExecReScanBitmapOr(BitmapOrState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanBitmapOr(BitmapOrState *node);
|
||||
|
||||
#endif /* NODEBITMAPOR_H */
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeCtescan.h,v 1.4 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeCtescan.h,v 1.5 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -19,6 +19,6 @@
|
||||
extern CteScanState *ExecInitCteScan(CteScan *node, EState *estate, int eflags);
|
||||
extern TupleTableSlot *ExecCteScan(CteScanState *node);
|
||||
extern void ExecEndCteScan(CteScanState *node);
|
||||
extern void ExecCteScanReScan(CteScanState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanCteScan(CteScanState *node);
|
||||
|
||||
#endif /* NODECTESCAN_H */
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeFunctionscan.h,v 1.15 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeFunctionscan.h,v 1.16 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -19,6 +19,6 @@
|
||||
extern FunctionScanState *ExecInitFunctionScan(FunctionScan *node, EState *estate, int eflags);
|
||||
extern TupleTableSlot *ExecFunctionScan(FunctionScanState *node);
|
||||
extern void ExecEndFunctionScan(FunctionScanState *node);
|
||||
extern void ExecFunctionReScan(FunctionScanState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanFunctionScan(FunctionScanState *node);
|
||||
|
||||
#endif /* NODEFUNCTIONSCAN_H */
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeGroup.h,v 1.35 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeGroup.h,v 1.36 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -19,6 +19,6 @@
|
||||
extern GroupState *ExecInitGroup(Group *node, EState *estate, int eflags);
|
||||
extern TupleTableSlot *ExecGroup(GroupState *node);
|
||||
extern void ExecEndGroup(GroupState *node);
|
||||
extern void ExecReScanGroup(GroupState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanGroup(GroupState *node);
|
||||
|
||||
#endif /* NODEGROUP_H */
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeHash.h,v 1.49 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeHash.h,v 1.50 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -20,7 +20,7 @@ extern HashState *ExecInitHash(Hash *node, EState *estate, int eflags);
|
||||
extern TupleTableSlot *ExecHash(HashState *node);
|
||||
extern Node *MultiExecHash(HashState *node);
|
||||
extern void ExecEndHash(HashState *node);
|
||||
extern void ExecReScanHash(HashState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanHash(HashState *node);
|
||||
|
||||
extern HashJoinTable ExecHashTableCreate(Hash *node, List *hashOperators);
|
||||
extern void ExecHashTableDestroy(HashJoinTable hashtable);
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeHashjoin.h,v 1.40 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeHashjoin.h,v 1.41 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -20,7 +20,7 @@
|
||||
extern HashJoinState *ExecInitHashJoin(HashJoin *node, EState *estate, int eflags);
|
||||
extern TupleTableSlot *ExecHashJoin(HashJoinState *node);
|
||||
extern void ExecEndHashJoin(HashJoinState *node);
|
||||
extern void ExecReScanHashJoin(HashJoinState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanHashJoin(HashJoinState *node);
|
||||
|
||||
extern void ExecHashJoinSaveTuple(MinimalTuple tuple, uint32 hashvalue,
|
||||
BufFile **fileptr);
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeIndexscan.h,v 1.36 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeIndexscan.h,v 1.37 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -21,7 +21,7 @@ extern TupleTableSlot *ExecIndexScan(IndexScanState *node);
|
||||
extern void ExecEndIndexScan(IndexScanState *node);
|
||||
extern void ExecIndexMarkPos(IndexScanState *node);
|
||||
extern void ExecIndexRestrPos(IndexScanState *node);
|
||||
extern void ExecIndexReScan(IndexScanState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanIndexScan(IndexScanState *node);
|
||||
|
||||
/* routines exported to share code with nodeBitmapIndexscan.c */
|
||||
extern void ExecIndexBuildScanKeys(PlanState *planstate, Relation index,
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeLimit.h,v 1.18 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeLimit.h,v 1.19 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -19,6 +19,6 @@
|
||||
extern LimitState *ExecInitLimit(Limit *node, EState *estate, int eflags);
|
||||
extern TupleTableSlot *ExecLimit(LimitState *node);
|
||||
extern void ExecEndLimit(LimitState *node);
|
||||
extern void ExecReScanLimit(LimitState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanLimit(LimitState *node);
|
||||
|
||||
#endif /* NODELIMIT_H */
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeLockRows.h,v 1.2 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeLockRows.h,v 1.3 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -19,6 +19,6 @@
|
||||
extern LockRowsState *ExecInitLockRows(LockRows *node, EState *estate, int eflags);
|
||||
extern TupleTableSlot *ExecLockRows(LockRowsState *node);
|
||||
extern void ExecEndLockRows(LockRowsState *node);
|
||||
extern void ExecReScanLockRows(LockRowsState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanLockRows(LockRowsState *node);
|
||||
|
||||
#endif /* NODELOCKROWS_H */
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeMaterial.h,v 1.30 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeMaterial.h,v 1.31 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -21,6 +21,6 @@ extern TupleTableSlot *ExecMaterial(MaterialState *node);
|
||||
extern void ExecEndMaterial(MaterialState *node);
|
||||
extern void ExecMaterialMarkPos(MaterialState *node);
|
||||
extern void ExecMaterialRestrPos(MaterialState *node);
|
||||
extern void ExecMaterialReScan(MaterialState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanMaterial(MaterialState *node);
|
||||
|
||||
#endif /* NODEMATERIAL_H */
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeMergejoin.h,v 1.29 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeMergejoin.h,v 1.30 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -19,6 +19,6 @@
|
||||
extern MergeJoinState *ExecInitMergeJoin(MergeJoin *node, EState *estate, int eflags);
|
||||
extern TupleTableSlot *ExecMergeJoin(MergeJoinState *node);
|
||||
extern void ExecEndMergeJoin(MergeJoinState *node);
|
||||
extern void ExecReScanMergeJoin(MergeJoinState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanMergeJoin(MergeJoinState *node);
|
||||
|
||||
#endif /* NODEMERGEJOIN_H */
|
||||
|
@@ -6,7 +6,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeModifyTable.h,v 1.2 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeModifyTable.h,v 1.3 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -18,6 +18,6 @@
|
||||
extern ModifyTableState *ExecInitModifyTable(ModifyTable *node, EState *estate, int eflags);
|
||||
extern TupleTableSlot *ExecModifyTable(ModifyTableState *node);
|
||||
extern void ExecEndModifyTable(ModifyTableState *node);
|
||||
extern void ExecReScanModifyTable(ModifyTableState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanModifyTable(ModifyTableState *node);
|
||||
|
||||
#endif /* NODEMODIFYTABLE_H */
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeNestloop.h,v 1.30 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeNestloop.h,v 1.31 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -19,6 +19,6 @@
|
||||
extern NestLoopState *ExecInitNestLoop(NestLoop *node, EState *estate, int eflags);
|
||||
extern TupleTableSlot *ExecNestLoop(NestLoopState *node);
|
||||
extern void ExecEndNestLoop(NestLoopState *node);
|
||||
extern void ExecReScanNestLoop(NestLoopState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanNestLoop(NestLoopState *node);
|
||||
|
||||
#endif /* NODENESTLOOP_H */
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeRecursiveunion.h,v 1.4 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeRecursiveunion.h,v 1.5 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -19,6 +19,6 @@
|
||||
extern RecursiveUnionState *ExecInitRecursiveUnion(RecursiveUnion *node, EState *estate, int eflags);
|
||||
extern TupleTableSlot *ExecRecursiveUnion(RecursiveUnionState *node);
|
||||
extern void ExecEndRecursiveUnion(RecursiveUnionState *node);
|
||||
extern void ExecRecursiveUnionReScan(RecursiveUnionState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanRecursiveUnion(RecursiveUnionState *node);
|
||||
|
||||
#endif /* NODERECURSIVEUNION_H */
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeResult.h,v 1.28 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeResult.h,v 1.29 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -21,6 +21,6 @@ extern TupleTableSlot *ExecResult(ResultState *node);
|
||||
extern void ExecEndResult(ResultState *node);
|
||||
extern void ExecResultMarkPos(ResultState *node);
|
||||
extern void ExecResultRestrPos(ResultState *node);
|
||||
extern void ExecReScanResult(ResultState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanResult(ResultState *node);
|
||||
|
||||
#endif /* NODERESULT_H */
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeSeqscan.h,v 1.29 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeSeqscan.h,v 1.30 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -21,6 +21,6 @@ extern TupleTableSlot *ExecSeqScan(SeqScanState *node);
|
||||
extern void ExecEndSeqScan(SeqScanState *node);
|
||||
extern void ExecSeqMarkPos(SeqScanState *node);
|
||||
extern void ExecSeqRestrPos(SeqScanState *node);
|
||||
extern void ExecSeqReScan(SeqScanState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanSeqScan(SeqScanState *node);
|
||||
|
||||
#endif /* NODESEQSCAN_H */
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeSetOp.h,v 1.18 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeSetOp.h,v 1.19 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -19,6 +19,6 @@
|
||||
extern SetOpState *ExecInitSetOp(SetOp *node, EState *estate, int eflags);
|
||||
extern TupleTableSlot *ExecSetOp(SetOpState *node);
|
||||
extern void ExecEndSetOp(SetOpState *node);
|
||||
extern void ExecReScanSetOp(SetOpState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanSetOp(SetOpState *node);
|
||||
|
||||
#endif /* NODESETOP_H */
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeSort.h,v 1.27 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeSort.h,v 1.28 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -21,6 +21,6 @@ extern TupleTableSlot *ExecSort(SortState *node);
|
||||
extern void ExecEndSort(SortState *node);
|
||||
extern void ExecSortMarkPos(SortState *node);
|
||||
extern void ExecSortRestrPos(SortState *node);
|
||||
extern void ExecReScanSort(SortState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanSort(SortState *node);
|
||||
|
||||
#endif /* NODESORT_H */
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeSubqueryscan.h,v 1.18 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeSubqueryscan.h,v 1.19 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -19,6 +19,6 @@
|
||||
extern SubqueryScanState *ExecInitSubqueryScan(SubqueryScan *node, EState *estate, int eflags);
|
||||
extern TupleTableSlot *ExecSubqueryScan(SubqueryScanState *node);
|
||||
extern void ExecEndSubqueryScan(SubqueryScanState *node);
|
||||
extern void ExecSubqueryReScan(SubqueryScanState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanSubqueryScan(SubqueryScanState *node);
|
||||
|
||||
#endif /* NODESUBQUERYSCAN_H */
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeTidscan.h,v 1.22 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeTidscan.h,v 1.23 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -21,6 +21,6 @@ extern TupleTableSlot *ExecTidScan(TidScanState *node);
|
||||
extern void ExecEndTidScan(TidScanState *node);
|
||||
extern void ExecTidMarkPos(TidScanState *node);
|
||||
extern void ExecTidRestrPos(TidScanState *node);
|
||||
extern void ExecTidReScan(TidScanState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanTidScan(TidScanState *node);
|
||||
|
||||
#endif /* NODETIDSCAN_H */
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeUnique.h,v 1.27 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeUnique.h,v 1.28 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -19,6 +19,6 @@
|
||||
extern UniqueState *ExecInitUnique(Unique *node, EState *estate, int eflags);
|
||||
extern TupleTableSlot *ExecUnique(UniqueState *node);
|
||||
extern void ExecEndUnique(UniqueState *node);
|
||||
extern void ExecReScanUnique(UniqueState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanUnique(UniqueState *node);
|
||||
|
||||
#endif /* NODEUNIQUE_H */
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeValuesscan.h,v 1.7 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeValuesscan.h,v 1.8 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -21,6 +21,6 @@ extern TupleTableSlot *ExecValuesScan(ValuesScanState *node);
|
||||
extern void ExecEndValuesScan(ValuesScanState *node);
|
||||
extern void ExecValuesMarkPos(ValuesScanState *node);
|
||||
extern void ExecValuesRestrPos(ValuesScanState *node);
|
||||
extern void ExecValuesReScan(ValuesScanState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanValuesScan(ValuesScanState *node);
|
||||
|
||||
#endif /* NODEVALUESSCAN_H */
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeWindowAgg.h,v 1.4 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeWindowAgg.h,v 1.5 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -19,6 +19,6 @@
|
||||
extern WindowAggState *ExecInitWindowAgg(WindowAgg *node, EState *estate, int eflags);
|
||||
extern TupleTableSlot *ExecWindowAgg(WindowAggState *node);
|
||||
extern void ExecEndWindowAgg(WindowAggState *node);
|
||||
extern void ExecReScanWindowAgg(WindowAggState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanWindowAgg(WindowAggState *node);
|
||||
|
||||
#endif /* NODEWINDOWAGG_H */
|
||||
|
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeWorktablescan.h,v 1.4 2010/01/02 16:58:03 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/executor/nodeWorktablescan.h,v 1.5 2010/07/12 17:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -19,6 +19,6 @@
|
||||
extern WorkTableScanState *ExecInitWorkTableScan(WorkTableScan *node, EState *estate, int eflags);
|
||||
extern TupleTableSlot *ExecWorkTableScan(WorkTableScanState *node);
|
||||
extern void ExecEndWorkTableScan(WorkTableScanState *node);
|
||||
extern void ExecWorkTableScanReScan(WorkTableScanState *node, ExprContext *exprCtxt);
|
||||
extern void ExecReScanWorkTableScan(WorkTableScanState *node);
|
||||
|
||||
#endif /* NODEWORKTABLESCAN_H */
|
||||
|
Reference in New Issue
Block a user