* prototypes for files in optimizer/prep/
*
*
- * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
+ * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: prep.h,v 1.21 2000/01/26 05:58:21 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/optimizer/prep.h,v 1.44 2004/04/07 18:17:25 tgl Exp $
*
*-------------------------------------------------------------------------
*/
#include "nodes/parsenodes.h"
#include "nodes/plannodes.h"
+#include "nodes/relation.h"
+
+
+/*
+ * prototypes for prepjointree.c
+ */
+extern int from_collapse_limit;
+extern int join_collapse_limit;
+
+extern Node *pull_up_IN_clauses(Query *parse, Node *node);
+extern Node *pull_up_subqueries(Query *parse, Node *jtnode,
+ bool below_outer_join);
+extern void reduce_outer_joins(Query *parse);
+extern Node *simplify_jointree(Query *parse, Node *jtnode);
+extern Relids get_relids_in_jointree(Node *jtnode);
+extern Relids get_relids_for_join(Query *parse, int joinrelid);
/*
* prototypes for prepqual.c
*/
-extern List *canonicalize_qual(Expr *qual, bool removeAndFlag);
-extern List *cnfify(Expr *qual, bool removeAndFlag);
-extern Expr *dnfify(Expr *qual);
+extern Expr *canonicalize_qual(Expr *qual);
+extern Node *flatten_andors(Node *node);
/*
* prototypes for preptlist.c
/*
* prototypes for prepunion.c
*/
+extern Plan *plan_set_operations(Query *parse, List **sortClauses);
+
extern List *find_all_inheritors(Oid parentrel);
-extern int first_inherit_rt_entry(List *rangetable);
-extern Append *plan_union_queries(Query *parse);
-extern Append *plan_inherit_queries(Query *parse, List *tlist, Index rt_index);
-#endif /* PREP_H */
+extern List *expand_inherited_rtentry(Query *parse, Index rti,
+ bool dup_parent);
+
+extern Node *adjust_inherited_attrs(Node *node,
+ Index old_rt_index, Oid old_relid,
+ Index new_rt_index, Oid new_relid);
+
+#endif /* PREP_H */