1 /*-------------------------------------------------------------------------
4 * prototypes for files in optimizer/prep/
7 * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * $Id: prep.h,v 1.36 2003/02/08 20:20:55 tgl Exp $
12 *-------------------------------------------------------------------------
17 #include "nodes/parsenodes.h"
18 #include "nodes/plannodes.h"
19 #include "nodes/relation.h"
23 * prototypes for prepjointree.c
25 extern int from_collapse_limit;
26 extern int join_collapse_limit;
28 extern Node *pull_up_IN_clauses(Query *parse, Node *node);
29 extern Node *pull_up_subqueries(Query *parse, Node *jtnode,
30 bool below_outer_join);
31 extern Node *preprocess_jointree(Query *parse, Node *jtnode);
32 extern Relids get_relids_in_jointree(Node *jtnode);
33 extern Relids get_relids_for_join(Query *parse, int joinrelid);
36 * prototypes for prepqual.c
38 extern List *canonicalize_qual(Expr *qual, bool removeAndFlag);
39 extern List *cnfify(Expr *qual, bool removeAndFlag);
42 * prototypes for preptlist.c
44 extern List *preprocess_targetlist(List *tlist, int command_type,
45 Index result_relation, List *range_table);
48 * prototypes for prepunion.c
50 extern Plan *plan_set_operations(Query *parse);
52 extern List *find_all_inheritors(Oid parentrel);
54 extern List *expand_inherted_rtentry(Query *parse, Index rti,
57 extern Node *adjust_inherited_attrs(Node *node,
58 Index old_rt_index, Oid old_relid,
59 Index new_rt_index, Oid new_relid);
61 extern bool tlist_same_datatypes(List *tlist, List *colTypes, bool junkOK);