Skip to content

Commit 5d7923d

Browse files
committed
Subselects...
1 parent 6fcf2d7 commit 5d7923d

File tree

11 files changed

+63
-10
lines changed

11 files changed

+63
-10
lines changed

src/include/executor/executor.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*
77
* Copyright (c) 1994, Regents of the University of California
88
*
9-
* $Id: executor.h,v 1.19 1998/02/10 04:02:19 momjian Exp $
9+
* $Id: executor.h,v 1.20 1998/02/13 03:43:33 vadim Exp $
1010
*
1111
*-------------------------------------------------------------------------
1212
*/
@@ -108,6 +108,7 @@ extern void ExecInitOuterTupleSlot(EState *estate, HashJoinState *hashstate);
108108

109109
extern TupleDesc ExecGetTupType(Plan *node);
110110
extern TupleDesc ExecTypeFromTL(List *targetList);
111+
extern void SetChangedParamList (Plan *node, List *newchg);
111112

112113
/*
113114
* prototypes from functions in execTuples.c

src/include/executor/nodeAgg.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*
77
* Copyright (c) 1994, Regents of the University of California
88
*
9-
* $Id: nodeAgg.h,v 1.6 1997/11/26 01:12:40 momjian Exp $
9+
* $Id: nodeAgg.h,v 1.7 1998/02/13 03:43:34 vadim Exp $
1010
*
1111
*-------------------------------------------------------------------------
1212
*/
@@ -21,5 +21,6 @@ extern TupleTableSlot *ExecAgg(Agg *node);
2121
extern bool ExecInitAgg(Agg *node, EState *estate, Plan *parent);
2222
extern int ExecCountSlotsAgg(Agg *node);
2323
extern void ExecEndAgg(Agg *node);
24+
extern void ExecReScanAgg(Agg *node, ExprContext *exprCtxt, Plan *parent);
2425

2526
#endif /* NODEAGG_H */

src/include/executor/nodeHash.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*
77
* Copyright (c) 1994, Regents of the University of California
88
*
9-
* $Id: nodeHash.h,v 1.7 1998/01/24 22:49:01 momjian Exp $
9+
* $Id: nodeHash.h,v 1.8 1998/02/13 03:43:35 vadim Exp $
1010
*
1111
*-------------------------------------------------------------------------
1212
*/
@@ -35,5 +35,6 @@ extern HeapTuple ExecScanHashBucket(HashJoinState *hjstate, HashBucket bucket,
3535
HeapTuple curtuple, List *hjclauses,
3636
ExprContext *econtext);
3737
extern void ExecHashTableReset(HashJoinTable hashtable, int ntuples);
38+
extern void ExecReScanHash(Hash *node, ExprContext *exprCtxt, Plan *parent);
3839

3940
#endif /* NODEHASH_H */

src/include/executor/nodeHashjoin.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*
77
* Copyright (c) 1994, Regents of the University of California
88
*
9-
* $Id: nodeHashjoin.h,v 1.7 1998/01/24 22:49:04 momjian Exp $
9+
* $Id: nodeHashjoin.h,v 1.8 1998/02/13 03:43:36 vadim Exp $
1010
*
1111
*-------------------------------------------------------------------------
1212
*/
@@ -23,6 +23,7 @@ extern int ExecCountSlotsHashJoin(HashJoin *node);
2323
extern void ExecEndHashJoin(HashJoin *node);
2424
extern char * ExecHashJoinSaveTuple(HeapTuple heapTuple, char *buffer,
2525
File file, char *position);
26+
extern void ExecReScanHashJoin(HashJoin *node, ExprContext *exprCtxt, Plan *parent);
2627

2728

2829
#endif /* NODEHASHJOIN_H */

src/include/executor/nodeMaterial.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*
77
* Copyright (c) 1994, Regents of the University of California
88
*
9-
* $Id: nodeMaterial.h,v 1.5 1997/11/26 01:12:53 momjian Exp $
9+
* $Id: nodeMaterial.h,v 1.6 1998/02/13 03:43:37 vadim Exp $
1010
*
1111
*-------------------------------------------------------------------------
1212
*/
@@ -21,7 +21,9 @@ extern TupleTableSlot *ExecMaterial(Material *node);
2121
extern bool ExecInitMaterial(Material *node, EState *estate, Plan *parent);
2222
extern int ExecCountSlotsMaterial(Material *node);
2323
extern void ExecEndMaterial(Material *node);
24+
extern void ExecMaterialReScan(Material *node, ExprContext *exprCtxt, Plan *parent);
25+
#if 0
2426
extern List ExecMaterialMarkPos(Material *node);
2527
extern void ExecMaterialRestrPos(Material *node);
26-
28+
#endif
2729
#endif /* NODEMATERIAL_H */

src/include/executor/nodeNestloop.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*
77
* Copyright (c) 1994, Regents of the University of California
88
*
9-
* $Id: nodeNestloop.h,v 1.5 1997/11/26 01:12:57 momjian Exp $
9+
* $Id: nodeNestloop.h,v 1.6 1998/02/13 03:43:38 vadim Exp $
1010
*
1111
*-------------------------------------------------------------------------
1212
*/
@@ -21,5 +21,6 @@ extern TupleTableSlot *ExecNestLoop(NestLoop *node, Plan *parent);
2121
extern bool ExecInitNestLoop(NestLoop *node, EState *estate, Plan *parent);
2222
extern int ExecCountSlotsNestLoop(NestLoop *node);
2323
extern void ExecEndNestLoop(NestLoop *node);
24+
extern void ExecReScanNestLoop(NestLoop *node, ExprContext *exprCtxt, Plan *parent);
2425

2526
#endif /* NODENESTLOOP_H */

src/include/executor/nodeResult.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*
77
* Copyright (c) 1994, Regents of the University of California
88
*
9-
* $Id: nodeResult.h,v 1.5 1997/11/26 01:12:58 momjian Exp $
9+
* $Id: nodeResult.h,v 1.6 1998/02/13 03:43:39 vadim Exp $
1010
*
1111
*-------------------------------------------------------------------------
1212
*/
@@ -21,5 +21,6 @@ extern TupleTableSlot *ExecResult(Result *node);
2121
extern bool ExecInitResult(Result *node, EState *estate, Plan *parent);
2222
extern int ExecCountSlotsResult(Result *node);
2323
extern void ExecEndResult(Result *node);
24+
extern void ExecReScanResult(Result *node, ExprContext *exprCtxt, Plan *parent);
2425

2526
#endif /* NODERESULT_H */

src/include/executor/nodeSubplan.h

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/*-------------------------------------------------------------------------
2+
*
3+
* nodeSubplan.h--
4+
*
5+
*-------------------------------------------------------------------------
6+
*/
7+
#ifndef NODESUBPLAN_H
8+
#define NODESUBPLAN_H
9+
10+
#include "executor/tuptable.h"
11+
#include "nodes/execnodes.h"
12+
#include "nodes/plannodes.h"
13+
14+
extern Datum ExecSubPlan(SubPlan *node, List *pvar, ExprContext *econtext);
15+
extern bool ExecInitSubPlan(SubPlan *node, EState *estate, Plan *parent);
16+
extern void ExecReScanSetParamPlan (SubPlan *node, Plan *parent);
17+
extern void ExecSetParamPlan (SubPlan *node);
18+
extern void ExecEndSubPlan(SubPlan *node);
19+
20+
#endif /* NODESUBPLAN_H */

src/include/optimizer/clauses.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*
77
* Copyright (c) 1994, Regents of the University of California
88
*
9-
* $Id: clauses.h,v 1.8 1998/01/24 22:49:39 momjian Exp $
9+
* $Id: clauses.h,v 1.9 1998/02/13 03:46:54 vadim Exp $
1010
*
1111
*-------------------------------------------------------------------------
1212
*/
@@ -48,4 +48,8 @@ extern void get_rels_atts(Node *clause, int *relid1,
4848
AttrNumber *attno1, int *relid2, AttrNumber *attno2);
4949
extern void CommuteClause(Node *clause);
5050

51+
#define is_subplan(clause) ((Node*) clause != NULL && \
52+
nodeTag((Node*) clause) == T_Expr && \
53+
((Expr *) clause)->opType == SUBPLAN_EXPR)
54+
5155
#endif /* CLAUSES_H */

src/include/optimizer/planner.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*
77
* Copyright (c) 1994, Regents of the University of California
88
*
9-
* $Id: planner.h,v 1.7 1997/11/26 01:13:49 momjian Exp $
9+
* $Id: planner.h,v 1.8 1998/02/13 03:46:56 vadim Exp $
1010
*
1111
*-------------------------------------------------------------------------
1212
*/
@@ -21,6 +21,7 @@
2121
#include "parser/parse_node.h"
2222

2323
extern Plan *planner(Query *parse);
24+
extern Plan *union_planner(Query *parse);
2425
extern void pg_checkretval(Oid rettype, QueryTreeList *querytree_list);
2526

2627
#endif /* PLANNER_H */

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy