diff options
Diffstat (limited to 'src/backend/optimizer/path/indxpath.c')
-rw-r--r-- | src/backend/optimizer/path/indxpath.c | 156 |
1 files changed, 78 insertions, 78 deletions
diff --git a/src/backend/optimizer/path/indxpath.c b/src/backend/optimizer/path/indxpath.c index 3434219dbd1..c208e9bfb0b 100644 --- a/src/backend/optimizer/path/indxpath.c +++ b/src/backend/optimizer/path/indxpath.c @@ -75,120 +75,120 @@ typedef struct static void consider_index_join_clauses(PlannerInfo *root, RelOptInfo *rel, - IndexOptInfo *index, - IndexClauseSet *rclauseset, - IndexClauseSet *jclauseset, - IndexClauseSet *eclauseset, - List **bitindexpaths); + IndexOptInfo *index, + IndexClauseSet *rclauseset, + IndexClauseSet *jclauseset, + IndexClauseSet *eclauseset, + List **bitindexpaths); static void consider_index_join_outer_rels(PlannerInfo *root, RelOptInfo *rel, - IndexOptInfo *index, - IndexClauseSet *rclauseset, - IndexClauseSet *jclauseset, - IndexClauseSet *eclauseset, - List **bitindexpaths, - List *indexjoinclauses, - int considered_clauses, - List **considered_relids); + IndexOptInfo *index, + IndexClauseSet *rclauseset, + IndexClauseSet *jclauseset, + IndexClauseSet *eclauseset, + List **bitindexpaths, + List *indexjoinclauses, + int considered_clauses, + List **considered_relids); static void get_join_index_paths(PlannerInfo *root, RelOptInfo *rel, - IndexOptInfo *index, - IndexClauseSet *rclauseset, - IndexClauseSet *jclauseset, - IndexClauseSet *eclauseset, - List **bitindexpaths, - Relids relids, - List **considered_relids); + IndexOptInfo *index, + IndexClauseSet *rclauseset, + IndexClauseSet *jclauseset, + IndexClauseSet *eclauseset, + List **bitindexpaths, + Relids relids, + List **considered_relids); static bool eclass_already_used(EquivalenceClass *parent_ec, Relids oldrelids, - List *indexjoinclauses); + List *indexjoinclauses); static bool bms_equal_any(Relids relids, List *relids_list); static void get_index_paths(PlannerInfo *root, RelOptInfo *rel, - IndexOptInfo *index, IndexClauseSet *clauses, - List **bitindexpaths); + IndexOptInfo *index, IndexClauseSet *clauses, + List **bitindexpaths); static List *build_index_paths(PlannerInfo *root, RelOptInfo *rel, - IndexOptInfo *index, IndexClauseSet *clauses, - bool useful_predicate, - ScanTypeControl scantype, - bool *skip_nonnative_saop, - bool *skip_lower_saop); + IndexOptInfo *index, IndexClauseSet *clauses, + bool useful_predicate, + ScanTypeControl scantype, + bool *skip_nonnative_saop, + bool *skip_lower_saop); static List *build_paths_for_OR(PlannerInfo *root, RelOptInfo *rel, - List *clauses, List *other_clauses); + List *clauses, List *other_clauses); static List *generate_bitmap_or_paths(PlannerInfo *root, RelOptInfo *rel, - List *clauses, List *other_clauses); + List *clauses, List *other_clauses); static Path *choose_bitmap_and(PlannerInfo *root, RelOptInfo *rel, - List *paths); + List *paths); static int path_usage_comparator(const void *a, const void *b); static Cost bitmap_scan_cost_est(PlannerInfo *root, RelOptInfo *rel, - Path *ipath); + Path *ipath); static Cost bitmap_and_cost_est(PlannerInfo *root, RelOptInfo *rel, - List *paths); + List *paths); static PathClauseUsage *classify_index_clause_usage(Path *path, - List **clauselist); + List **clauselist); static Relids get_bitmap_tree_required_outer(Path *bitmapqual); static void find_indexpath_quals(Path *bitmapqual, List **quals, List **preds); static int find_list_position(Node *node, List **nodelist); static bool check_index_only(RelOptInfo *rel, IndexOptInfo *index); static double get_loop_count(PlannerInfo *root, Index cur_relid, Relids outer_relids); static double adjust_rowcount_for_semijoins(PlannerInfo *root, - Index cur_relid, - Index outer_relid, - double rowcount); + Index cur_relid, + Index outer_relid, + double rowcount); static double approximate_joinrel_size(PlannerInfo *root, Relids relids); static void match_restriction_clauses_to_index(PlannerInfo *root, - IndexOptInfo *index, - IndexClauseSet *clauseset); + IndexOptInfo *index, + IndexClauseSet *clauseset); static void match_join_clauses_to_index(PlannerInfo *root, - RelOptInfo *rel, IndexOptInfo *index, - IndexClauseSet *clauseset, - List **joinorclauses); + RelOptInfo *rel, IndexOptInfo *index, + IndexClauseSet *clauseset, + List **joinorclauses); static void match_eclass_clauses_to_index(PlannerInfo *root, - IndexOptInfo *index, - IndexClauseSet *clauseset); + IndexOptInfo *index, + IndexClauseSet *clauseset); static void match_clauses_to_index(PlannerInfo *root, - List *clauses, - IndexOptInfo *index, - IndexClauseSet *clauseset); + List *clauses, + IndexOptInfo *index, + IndexClauseSet *clauseset); static void match_clause_to_index(PlannerInfo *root, - RestrictInfo *rinfo, - IndexOptInfo *index, - IndexClauseSet *clauseset); + RestrictInfo *rinfo, + IndexOptInfo *index, + IndexClauseSet *clauseset); static IndexClause *match_clause_to_indexcol(PlannerInfo *root, - RestrictInfo *rinfo, - int indexcol, - IndexOptInfo *index); + RestrictInfo *rinfo, + int indexcol, + IndexOptInfo *index); static IndexClause *match_boolean_index_clause(RestrictInfo *rinfo, - int indexcol, IndexOptInfo *index); + int indexcol, IndexOptInfo *index); static IndexClause *match_opclause_to_indexcol(PlannerInfo *root, - RestrictInfo *rinfo, - int indexcol, - IndexOptInfo *index); + RestrictInfo *rinfo, + int indexcol, + IndexOptInfo *index); static IndexClause *match_funcclause_to_indexcol(PlannerInfo *root, - RestrictInfo *rinfo, - int indexcol, - IndexOptInfo *index); + RestrictInfo *rinfo, + int indexcol, + IndexOptInfo *index); static IndexClause *get_index_clause_from_support(PlannerInfo *root, - RestrictInfo *rinfo, - Oid funcid, - int indexarg, - int indexcol, - IndexOptInfo *index); + RestrictInfo *rinfo, + Oid funcid, + int indexarg, + int indexcol, + IndexOptInfo *index); static IndexClause *match_saopclause_to_indexcol(RestrictInfo *rinfo, - int indexcol, - IndexOptInfo *index); + int indexcol, + IndexOptInfo *index); static IndexClause *match_rowcompare_to_indexcol(RestrictInfo *rinfo, - int indexcol, - IndexOptInfo *index); + int indexcol, + IndexOptInfo *index); static IndexClause *expand_indexqual_rowcompare(RestrictInfo *rinfo, - int indexcol, - IndexOptInfo *index, - Oid expr_op, - bool var_on_left); + int indexcol, + IndexOptInfo *index, + Oid expr_op, + bool var_on_left); static void match_pathkeys_to_index(IndexOptInfo *index, List *pathkeys, - List **orderby_clauses_p, - List **clause_columns_p); + List **orderby_clauses_p, + List **clause_columns_p); static Expr *match_clause_to_ordering_op(IndexOptInfo *index, - int indexcol, Expr *clause, Oid pk_opfamily); + int indexcol, Expr *clause, Oid pk_opfamily); static bool ec_member_matches_indexcol(PlannerInfo *root, RelOptInfo *rel, - EquivalenceClass *ec, EquivalenceMember *em, - void *arg); + EquivalenceClass *ec, EquivalenceMember *em, + void *arg); /* |