diff options
Diffstat (limited to 'src/include/optimizer')
-rw-r--r-- | src/include/optimizer/clauses.h | 2 | ||||
-rw-r--r-- | src/include/optimizer/optimizer.h | 7 | ||||
-rw-r--r-- | src/include/optimizer/paths.h | 3 | ||||
-rw-r--r-- | src/include/optimizer/planmain.h | 3 | ||||
-rw-r--r-- | src/include/optimizer/restrictinfo.h | 7 |
5 files changed, 13 insertions, 9 deletions
diff --git a/src/include/optimizer/clauses.h b/src/include/optimizer/clauses.h index da3fc4df105..0673887a852 100644 --- a/src/include/optimizer/clauses.h +++ b/src/include/optimizer/clauses.h @@ -46,7 +46,7 @@ extern Var *find_forced_null_var(Node *clause); extern bool is_pseudo_constant_clause(Node *clause); extern bool is_pseudo_constant_clause_relids(Node *clause, Relids relids); -extern int NumRelids(Node *clause); +extern int NumRelids(PlannerInfo *root, Node *clause); extern void CommuteOpExpr(OpExpr *clause); diff --git a/src/include/optimizer/optimizer.h b/src/include/optimizer/optimizer.h index 6235933ca4a..d587952b7d6 100644 --- a/src/include/optimizer/optimizer.h +++ b/src/include/optimizer/optimizer.h @@ -97,7 +97,8 @@ extern double clamp_row_est(double nrows); /* in path/indxpath.c: */ -extern bool is_pseudo_constant_for_index(Node *expr, IndexOptInfo *index); +extern bool is_pseudo_constant_for_index(PlannerInfo *root, Node *expr, + IndexOptInfo *index); /* in plan/planner.c: */ @@ -188,8 +189,8 @@ extern SortGroupClause *get_sortgroupref_clause_noerr(Index sortref, #define PVC_RECURSE_PLACEHOLDERS 0x0020 /* recurse into PlaceHolderVar * arguments */ -extern Bitmapset *pull_varnos(Node *node); -extern Bitmapset *pull_varnos_of_level(Node *node, int levelsup); +extern Bitmapset *pull_varnos(PlannerInfo *root, Node *node); +extern Bitmapset *pull_varnos_of_level(PlannerInfo *root, Node *node, int levelsup); extern void pull_varattnos(Node *node, Index varno, Bitmapset **varattnos); extern List *pull_vars_of_level(Node *node, int levelsup); extern bool contain_var_clause(Node *node); diff --git a/src/include/optimizer/paths.h b/src/include/optimizer/paths.h index 2d51cbecaa3..035d3e12069 100644 --- a/src/include/optimizer/paths.h +++ b/src/include/optimizer/paths.h @@ -75,7 +75,8 @@ extern void create_index_paths(PlannerInfo *root, RelOptInfo *rel); extern bool relation_has_unique_index_for(PlannerInfo *root, RelOptInfo *rel, List *restrictlist, List *exprlist, List *oprlist); -extern bool indexcol_is_bool_constant_for_query(IndexOptInfo *index, +extern bool indexcol_is_bool_constant_for_query(PlannerInfo *root, + IndexOptInfo *index, int indexcol); extern bool match_index_to_operand(Node *operand, int indexcol, IndexOptInfo *index); diff --git a/src/include/optimizer/planmain.h b/src/include/optimizer/planmain.h index 777655210b6..bf1adfc52ac 100644 --- a/src/include/optimizer/planmain.h +++ b/src/include/optimizer/planmain.h @@ -87,7 +87,8 @@ extern RestrictInfo *process_implied_equality(PlannerInfo *root, Index security_level, bool below_outer_join, bool both_const); -extern RestrictInfo *build_implied_join_equality(Oid opno, +extern RestrictInfo *build_implied_join_equality(PlannerInfo *root, + Oid opno, Oid collation, Expr *item1, Expr *item2, diff --git a/src/include/optimizer/restrictinfo.h b/src/include/optimizer/restrictinfo.h index 266faaf07c3..0165ffde37b 100644 --- a/src/include/optimizer/restrictinfo.h +++ b/src/include/optimizer/restrictinfo.h @@ -18,10 +18,11 @@ /* Convenience macro for the common case of a valid-everywhere qual */ -#define make_simple_restrictinfo(clause) \ - make_restrictinfo(clause, true, false, false, 0, NULL, NULL, NULL) +#define make_simple_restrictinfo(root, clause) \ + make_restrictinfo(root, clause, true, false, false, 0, NULL, NULL, NULL) -extern RestrictInfo *make_restrictinfo(Expr *clause, +extern RestrictInfo *make_restrictinfo(PlannerInfo *root, + Expr *clause, bool is_pushed_down, bool outerjoin_delayed, bool pseudoconstant, |