Skip to content
Snippets Groups Projects
Commit 5d7923dd authored by Vadim B. Mikheev's avatar Vadim B. Mikheev
Browse files

Subselects...

parent 6fcf2d7c
No related branches found
No related tags found
No related merge requests found
......@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: executor.h,v 1.19 1998/02/10 04:02:19 momjian Exp $
* $Id: executor.h,v 1.20 1998/02/13 03:43:33 vadim Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -108,6 +108,7 @@ extern void ExecInitOuterTupleSlot(EState *estate, HashJoinState *hashstate);
extern TupleDesc ExecGetTupType(Plan *node);
extern TupleDesc ExecTypeFromTL(List *targetList);
extern void SetChangedParamList (Plan *node, List *newchg);
/*
* prototypes from functions in execTuples.c
......
......@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: nodeAgg.h,v 1.6 1997/11/26 01:12:40 momjian Exp $
* $Id: nodeAgg.h,v 1.7 1998/02/13 03:43:34 vadim Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -21,5 +21,6 @@ extern TupleTableSlot *ExecAgg(Agg *node);
extern bool ExecInitAgg(Agg *node, EState *estate, Plan *parent);
extern int ExecCountSlotsAgg(Agg *node);
extern void ExecEndAgg(Agg *node);
extern void ExecReScanAgg(Agg *node, ExprContext *exprCtxt, Plan *parent);
#endif /* NODEAGG_H */
......@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: nodeHash.h,v 1.7 1998/01/24 22:49:01 momjian Exp $
* $Id: nodeHash.h,v 1.8 1998/02/13 03:43:35 vadim Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -35,5 +35,6 @@ extern HeapTuple ExecScanHashBucket(HashJoinState *hjstate, HashBucket bucket,
HeapTuple curtuple, List *hjclauses,
ExprContext *econtext);
extern void ExecHashTableReset(HashJoinTable hashtable, int ntuples);
extern void ExecReScanHash(Hash *node, ExprContext *exprCtxt, Plan *parent);
#endif /* NODEHASH_H */
......@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: nodeHashjoin.h,v 1.7 1998/01/24 22:49:04 momjian Exp $
* $Id: nodeHashjoin.h,v 1.8 1998/02/13 03:43:36 vadim Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -23,6 +23,7 @@ extern int ExecCountSlotsHashJoin(HashJoin *node);
extern void ExecEndHashJoin(HashJoin *node);
extern char * ExecHashJoinSaveTuple(HeapTuple heapTuple, char *buffer,
File file, char *position);
extern void ExecReScanHashJoin(HashJoin *node, ExprContext *exprCtxt, Plan *parent);
#endif /* NODEHASHJOIN_H */
......@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: nodeMaterial.h,v 1.5 1997/11/26 01:12:53 momjian Exp $
* $Id: nodeMaterial.h,v 1.6 1998/02/13 03:43:37 vadim Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -21,7 +21,9 @@ extern TupleTableSlot *ExecMaterial(Material *node);
extern bool ExecInitMaterial(Material *node, EState *estate, Plan *parent);
extern int ExecCountSlotsMaterial(Material *node);
extern void ExecEndMaterial(Material *node);
extern void ExecMaterialReScan(Material *node, ExprContext *exprCtxt, Plan *parent);
#if 0
extern List ExecMaterialMarkPos(Material *node);
extern void ExecMaterialRestrPos(Material *node);
#endif
#endif /* NODEMATERIAL_H */
......@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: nodeNestloop.h,v 1.5 1997/11/26 01:12:57 momjian Exp $
* $Id: nodeNestloop.h,v 1.6 1998/02/13 03:43:38 vadim Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -21,5 +21,6 @@ extern TupleTableSlot *ExecNestLoop(NestLoop *node, Plan *parent);
extern bool ExecInitNestLoop(NestLoop *node, EState *estate, Plan *parent);
extern int ExecCountSlotsNestLoop(NestLoop *node);
extern void ExecEndNestLoop(NestLoop *node);
extern void ExecReScanNestLoop(NestLoop *node, ExprContext *exprCtxt, Plan *parent);
#endif /* NODENESTLOOP_H */
......@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: nodeResult.h,v 1.5 1997/11/26 01:12:58 momjian Exp $
* $Id: nodeResult.h,v 1.6 1998/02/13 03:43:39 vadim Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -21,5 +21,6 @@ extern TupleTableSlot *ExecResult(Result *node);
extern bool ExecInitResult(Result *node, EState *estate, Plan *parent);
extern int ExecCountSlotsResult(Result *node);
extern void ExecEndResult(Result *node);
extern void ExecReScanResult(Result *node, ExprContext *exprCtxt, Plan *parent);
#endif /* NODERESULT_H */
/*-------------------------------------------------------------------------
*
* nodeSubplan.h--
*
*-------------------------------------------------------------------------
*/
#ifndef NODESUBPLAN_H
#define NODESUBPLAN_H
#include "executor/tuptable.h"
#include "nodes/execnodes.h"
#include "nodes/plannodes.h"
extern Datum ExecSubPlan(SubPlan *node, List *pvar, ExprContext *econtext);
extern bool ExecInitSubPlan(SubPlan *node, EState *estate, Plan *parent);
extern void ExecReScanSetParamPlan (SubPlan *node, Plan *parent);
extern void ExecSetParamPlan (SubPlan *node);
extern void ExecEndSubPlan(SubPlan *node);
#endif /* NODESUBPLAN_H */
......@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: clauses.h,v 1.8 1998/01/24 22:49:39 momjian Exp $
* $Id: clauses.h,v 1.9 1998/02/13 03:46:54 vadim Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -48,4 +48,8 @@ extern void get_rels_atts(Node *clause, int *relid1,
AttrNumber *attno1, int *relid2, AttrNumber *attno2);
extern void CommuteClause(Node *clause);
#define is_subplan(clause) ((Node*) clause != NULL && \
nodeTag((Node*) clause) == T_Expr && \
((Expr *) clause)->opType == SUBPLAN_EXPR)
#endif /* CLAUSES_H */
......@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: planner.h,v 1.7 1997/11/26 01:13:49 momjian Exp $
* $Id: planner.h,v 1.8 1998/02/13 03:46:56 vadim Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -21,6 +21,7 @@
#include "parser/parse_node.h"
extern Plan *planner(Query *parse);
extern Plan *union_planner(Query *parse);
extern void pg_checkretval(Oid rettype, QueryTreeList *querytree_list);
#endif /* PLANNER_H */
/*-------------------------------------------------------------------------
*
* subselect.h--
*
*-------------------------------------------------------------------------
*/
#ifndef SUBSELECT_H
#define SUBSELECT_H
extern int PlannerQueryLevel; /* level of current query */
extern List *PlannerVarParam; /* correlation Vars to Param mapper */
extern List *PlannerParamVar; /* to get Var from Param->paramid */
extern List *PlannerInitPlan; /* init subplans for current query */
extern int PlannerPlanId; /* to assigne unique ID to subquery plans */
extern List *SS_finalize_plan (Plan *plan);
extern Node *SS_replace_correlation_vars (Node *expr);
extern Node *SS_process_sublinks (Node *expr);
#endif /* SUBSELECT_H */
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment