]> granicus.if.org Git - postgresql/blobdiff - src/include/optimizer/planner.h
Update copyright for 2014
[postgresql] / src / include / optimizer / planner.h
index a08a83ae7180dc9f6c9318702126b78701a6ff54..1e942c52a7eb2b3b2fbe9c0565f868de8f2c0c43 100644 (file)
@@ -4,10 +4,10 @@
  *       prototypes for planner.c.
  *
  *
- * Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/optimizer/planner.h,v 1.40 2007/05/25 17:54:25 tgl Exp $
+ * src/include/optimizer/planner.h
  *
  *-------------------------------------------------------------------------
  */
 
 
 /* Hook for plugins to get control in planner() */
-typedef PlannedStmt * (*planner_hook_type) (Query *parse,
-                                                                                       int cursorOptions,
-                                                                                       ParamListInfo boundParams);
-extern DLLIMPORT planner_hook_type planner_hook;
+typedef PlannedStmt *(*planner_hook_type) (Query *parse,
+                                                                                                          int cursorOptions,
+                                                                                                 ParamListInfo boundParams);
+extern PGDLLIMPORT planner_hook_type planner_hook;
 
 
 extern PlannedStmt *planner(Query *parse, int cursorOptions,
                ParamListInfo boundParams);
 extern PlannedStmt *standard_planner(Query *parse, int cursorOptions,
-               ParamListInfo boundParams);
+                                ParamListInfo boundParams);
+
 extern Plan *subquery_planner(PlannerGlobal *glob, Query *parse,
-                                                         Index level, double tuple_fraction,
-                                                         PlannerInfo **subroot);
+                                PlannerInfo *parent_root,
+                                bool hasRecursion, double tuple_fraction,
+                                PlannerInfo **subroot);
+
+extern void add_tlist_costs_to_plan(PlannerInfo *root, Plan *plan,
+                                               List *tlist);
+
+extern bool is_dummy_plan(Plan *plan);
+
+extern Expr *expression_planner(Expr *expr);
+
+extern Expr *preprocess_phv_expression(PlannerInfo *root, Expr *expr);
+
+extern bool plan_cluster_use_sort(Oid tableOid, Oid indexOid);
 
 #endif   /* PLANNER_H */