1 /*-------------------------------------------------------------------------
4 * prototypes for planner.c.
7 * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * src/include/optimizer/planner.h
12 *-------------------------------------------------------------------------
17 #include "nodes/plannodes.h"
18 #include "nodes/relation.h"
21 /* Hook for plugins to get control in planner() */
22 typedef PlannedStmt *(*planner_hook_type) (Query *parse,
24 ParamListInfo boundParams);
25 extern PGDLLIMPORT planner_hook_type planner_hook;
28 extern PlannedStmt *planner(Query *parse, int cursorOptions,
29 ParamListInfo boundParams);
30 extern PlannedStmt *standard_planner(Query *parse, int cursorOptions,
31 ParamListInfo boundParams);
33 extern Plan *subquery_planner(PlannerGlobal *glob, Query *parse,
34 PlannerInfo *parent_root,
35 bool hasRecursion, double tuple_fraction,
36 PlannerInfo **subroot);
38 extern bool is_dummy_plan(Plan *plan);
40 extern Expr *expression_planner(Expr *expr);
42 extern bool plan_cluster_use_sort(Oid tableOid, Oid indexOid);
44 #endif /* PLANNER_H */