diff options
Diffstat (limited to 'src/include/optimizer')
-rw-r--r-- | src/include/optimizer/clauses.h | 6 | ||||
-rw-r--r-- | src/include/optimizer/planmain.h | 7 | ||||
-rw-r--r-- | src/include/optimizer/planner.h | 4 | ||||
-rw-r--r-- | src/include/optimizer/prep.h | 4 |
4 files changed, 15 insertions, 6 deletions
diff --git a/src/include/optimizer/clauses.h b/src/include/optimizer/clauses.h index 881940f9a18..612750dfaf3 100644 --- a/src/include/optimizer/clauses.h +++ b/src/include/optimizer/clauses.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: clauses.h,v 1.40 2000/09/29 18:21:40 tgl Exp $ + * $Id: clauses.h,v 1.41 2000/10/05 19:11:37 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -75,7 +75,9 @@ extern bool expression_tree_walker(Node *node, bool (*walker) (), extern Node *expression_tree_mutator(Node *node, Node *(*mutator) (), void *context); extern bool query_tree_walker(Query *query, bool (*walker) (), - void *context); + void *context, bool visitQueryRTEs); +extern void query_tree_mutator(Query *query, Node *(*mutator) (), + void *context, bool visitQueryRTEs); #define is_subplan(clause) ((clause) != NULL && \ IsA(clause, Expr) && \ diff --git a/src/include/optimizer/planmain.h b/src/include/optimizer/planmain.h index e46d0bdbd84..015590a5ee2 100644 --- a/src/include/optimizer/planmain.h +++ b/src/include/optimizer/planmain.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: planmain.h,v 1.45 2000/09/29 18:21:40 tgl Exp $ + * $Id: planmain.h,v 1.46 2000/10/05 19:11:37 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -26,6 +26,8 @@ extern Plan *query_planner(Query *root, List *tlist, double tuple_fraction); * prototypes for plan/createplan.c */ extern Plan *create_plan(Query *root, Path *best_path); +extern SubqueryScan *make_subqueryscan(List *qptlist, List *qpqual, + Index scanrelid, Plan *subplan); extern Sort *make_sort(List *tlist, Plan *lefttree, int keycount); extern Sort *make_sort_from_pathkeys(List *tlist, Plan *lefttree, List *pathkeys); @@ -34,7 +36,10 @@ extern Group *make_group(List *tlist, bool tuplePerGroup, int ngrp, AttrNumber *grpColIdx, Plan *lefttree); extern Material *make_material(List *tlist, Plan *lefttree); extern Unique *make_unique(List *tlist, Plan *lefttree, List *distinctList); +extern SetOp *make_setop(SetOpCmd cmd, List *tlist, Plan *lefttree, + List *distinctList, AttrNumber flagColIdx); extern Result *make_result(List *tlist, Node *resconstantqual, Plan *subplan); +extern void copy_plan_costsize(Plan *dest, Plan *src); /* * prototypes for plan/initsplan.c diff --git a/src/include/optimizer/planner.h b/src/include/optimizer/planner.h index da099940e6e..3fc0f435dc3 100644 --- a/src/include/optimizer/planner.h +++ b/src/include/optimizer/planner.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: planner.h,v 1.16 2000/08/21 20:55:28 tgl Exp $ + * $Id: planner.h,v 1.17 2000/10/05 19:11:37 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -22,4 +22,6 @@ extern Plan *planner(Query *parse); extern Plan *subquery_planner(Query *parse, double tuple_fraction); extern Plan *union_planner(Query *parse, double tuple_fraction); +extern Plan *make_sortplan(List *tlist, Plan *plannode, List *sortcls); + #endif /* PLANNER_H */ diff --git a/src/include/optimizer/prep.h b/src/include/optimizer/prep.h index 4ffddcf5668..dcdf6fb62f6 100644 --- a/src/include/optimizer/prep.h +++ b/src/include/optimizer/prep.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: prep.h,v 1.23 2000/06/20 04:22:13 tgl Exp $ + * $Id: prep.h,v 1.24 2000/10/05 19:11:37 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -32,11 +32,11 @@ extern List *preprocess_targetlist(List *tlist, int command_type, /* * prototypes for prepunion.c */ +extern Plan *plan_set_operations(Query *parse); extern List *find_all_inheritors(Oid parentrel); extern bool find_inheritable_rt_entry(List *rangetable, Index *rt_index, List **inheritors); extern Plan *plan_inherit_queries(Query *root, List *tlist, Index rt_index, List *inheritors); -extern Plan *plan_union_queries(Query *parse); #endif /* PREP_H */ |