]> granicus.if.org Git - postgresql/blobdiff - src/include/optimizer/planmain.h
Allow the planner's estimate of the fraction of a cursor's rows that will be
[postgresql] / src / include / optimizer / planmain.h
index 4673d53098fbe2af826787a280aa560993260241..0b46a173706bfacae48a97bf683b38882c0451c8 100644 (file)
@@ -4,10 +4,10 @@
  *       prototypes for various files in optimizer/plan
  *
  *
- * Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/optimizer/planmain.h,v 1.102 2007/10/04 20:44:47 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/optimizer/planmain.h,v 1.108 2008/05/02 21:26:10 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
 #include "nodes/plannodes.h"
 #include "nodes/relation.h"
 
+/* GUC parameters */
+#define DEFAULT_CURSOR_TUPLE_FRACTION 0.1
+extern double cursor_tuple_fraction;
+
 /*
  * prototypes for plan/planmain.c
  */
@@ -53,7 +57,6 @@ extern Group *make_group(PlannerInfo *root, List *tlist, List *qual,
                   int numGroupCols, AttrNumber *grpColIdx, Oid *grpOperators,
                   double numGroups,
                   Plan *lefttree);
-extern Material *make_material(Plan *lefttree);
 extern Plan *materialize_finished_plan(Plan *subplan);
 extern Unique *make_unique(Plan *lefttree, List *distinctList);
 extern Limit *make_limit(Plan *lefttree, Node *limitOffset, Node *limitCount,
@@ -61,7 +64,7 @@ extern Limit *make_limit(Plan *lefttree, Node *limitOffset, Node *limitCount,
 extern SetOp *make_setop(SetOpCmd cmd, Plan *lefttree,
                   List *distinctList, AttrNumber flagColIdx);
 extern Result *make_result(PlannerInfo *root, List *tlist,
-                                                  Node *resconstantqual, Plan *subplan);
+                       Node *resconstantqual, Plan *subplan);
 extern bool is_projection_capable_plan(Plan *plan);
 
 /*
@@ -74,17 +77,17 @@ extern void add_base_rels_to_query(PlannerInfo *root, Node *jtnode);
 extern void build_base_rel_tlists(PlannerInfo *root, List *final_tlist);
 extern void add_IN_vars_to_tlists(PlannerInfo *root);
 extern void add_vars_to_targetlist(PlannerInfo *root, List *vars,
-                                                                  Relids where_needed);
+                                          Relids where_needed);
 extern List *deconstruct_jointree(PlannerInfo *root);
 extern void distribute_restrictinfo_to_rels(PlannerInfo *root,
-                                                                                       RestrictInfo *restrictinfo);
+                                                               RestrictInfo *restrictinfo);
 extern void process_implied_equality(PlannerInfo *root,
-                                                                        Oid opno,
-                                                                        Expr *item1,
-                                                                        Expr *item2,
-                                                                        Relids qualscope,
-                                                                        bool below_outer_join,
-                                                                        bool both_const);
+                                                Oid opno,
+                                                Expr *item1,
+                                                Expr *item2,
+                                                Relids qualscope,
+                                                bool below_outer_join,
+                                                bool both_const);
 extern RestrictInfo *build_implied_join_equality(Oid opno,
                                                        Expr *item1,
                                                        Expr *item2,
@@ -94,9 +97,10 @@ extern RestrictInfo *build_implied_join_equality(Oid opno,
  * prototypes for plan/setrefs.c
  */
 extern Plan *set_plan_references(PlannerGlobal *glob,
-                                                                Plan *plan,
-                                                                List *rtable);
-extern List *set_returning_clause_references(List *rlist,
+                                       Plan *plan,
+                                       List *rtable);
+extern List *set_returning_clause_references(PlannerGlobal *glob,
+                                                               List *rlist,
                                                                Plan *topplan,
                                                                Index resultRelation);
 extern void fix_opfuncids(Node *node);