]> granicus.if.org Git - postgresql/blob - src/include/optimizer/prep.h
Make inheritance planning logic a little simpler and clearer,
[postgresql] / src / include / optimizer / prep.h
1 /*-------------------------------------------------------------------------
2  *
3  * prep.h
4  *        prototypes for files in optimizer/prep/
5  *
6  *
7  * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
8  * Portions Copyright (c) 1994, Regents of the University of California
9  *
10  * $Id: prep.h,v 1.23 2000/06/20 04:22:13 tgl Exp $
11  *
12  *-------------------------------------------------------------------------
13  */
14 #ifndef PREP_H
15 #define PREP_H
16
17 #include "nodes/parsenodes.h"
18 #include "nodes/plannodes.h"
19
20 /*
21  * prototypes for prepqual.c
22  */
23 extern List *canonicalize_qual(Expr *qual, bool removeAndFlag);
24 extern List *cnfify(Expr *qual, bool removeAndFlag);
25
26 /*
27  * prototypes for preptlist.c
28  */
29 extern List *preprocess_targetlist(List *tlist, int command_type,
30                                           Index result_relation, List *range_table);
31
32 /*
33  * prototypes for prepunion.c
34  */
35 extern List *find_all_inheritors(Oid parentrel);
36 extern bool find_inheritable_rt_entry(List *rangetable,
37                                                                           Index *rt_index, List **inheritors);
38 extern Plan *plan_inherit_queries(Query *root, List *tlist,
39                                                                   Index rt_index, List *inheritors);
40 extern Plan *plan_union_queries(Query *parse);
41
42 #endif   /* PREP_H */