|
PostgreSQL Source Code git master
|


Go to the source code of this file.
Functions | |
| void | transform_MERGE_to_join (Query *parse) |
| Query * | preprocess_relation_rtes (PlannerInfo *root) |
| void | replace_empty_jointree (Query *parse) |
| void | pull_up_sublinks (PlannerInfo *root) |
| void | preprocess_function_rtes (PlannerInfo *root) |
| void | pull_up_subqueries (PlannerInfo *root) |
| void | flatten_simple_union_all (PlannerInfo *root) |
| void | reduce_outer_joins (PlannerInfo *root) |
| void | remove_useless_result_rtes (PlannerInfo *root) |
| Relids | get_relids_in_jointree (Node *jtnode, bool include_outer_joins, bool include_inner_joins) |
| Relids | get_relids_for_join (Query *query, int joinrelid) |
| void | preprocess_targetlist (PlannerInfo *root) |
| List * | extract_update_targetlist_colnos (List *tlist) |
| PlanRowMark * | get_plan_rowmark (List *rowmarks, Index rtindex) |
| void | get_agg_clause_costs (PlannerInfo *root, AggSplit aggsplit, AggClauseCosts *costs) |
| void | preprocess_aggrefs (PlannerInfo *root, Node *clause) |
| RelOptInfo * | plan_set_operations (PlannerInfo *root) |
Definition at line 348 of file preptlist.c.
References fb(), lappend_int(), lfirst, and NIL.
Referenced by make_modifytable(), and preprocess_targetlist().
|
extern |
Definition at line 3047 of file prepjointree.c.
References Assert, castNode, copyObject, fb(), is_simple_union_all_recurse(), IsA, lappend(), list_length(), list_make1, makeNode, NIL, parse(), pull_up_union_leaf_queries(), root, rt_fetch, and RTE_SUBQUERY.
Referenced by subquery_planner().
|
extern |
Definition at line 559 of file prepagg.c.
References add_function_cost(), Aggref::aggdirectargs, ALLOCSET_DEFAULT_INITSIZE, ALLOCSET_SMALL_INITSIZE, cost_qual_eval_node(), DO_AGGSPLIT_COMBINE, DO_AGGSPLIT_DESERIALIZE, DO_AGGSPLIT_SERIALIZE, DO_AGGSPLIT_SKIPFINAL, fb(), AggClauseCosts::finalCost, get_typavgwidth(), lfirst_node, linitial_node, MAXALIGN, OidIsValid, QualCost::per_tuple, root, QualCost::startup, AggClauseCosts::transCost, and AggClauseCosts::transitionSpace.
Referenced by create_grouping_paths(), create_partial_grouping_paths(), estimate_path_cost_size(), and generate_grouped_paths().
|
extern |
Definition at line 526 of file preptlist.c.
References fb(), lfirst, and PlanRowMark::rti.
Referenced by check_index_predicates(), deparseLockingClause(), and expand_inherited_rtentry().
Definition at line 4366 of file prepjointree.c.
References elog, ERROR, fb(), find_jointree_node_for_rel(), get_relids_in_jointree(), and Query::jointree.
Referenced by add_nullingrels_if_needed(), and alias_relid_set().
|
extern |
Definition at line 4305 of file prepjointree.c.
References bms_add_member(), bms_join(), bms_make_singleton(), elog, ERROR, fb(), FromExpr::fromlist, get_relids_in_jointree(), IsA, j, JOIN_INNER, lfirst, and nodeTag.
Referenced by find_dependent_phvs_in_jointree(), get_relids_for_join(), get_relids_in_jointree(), is_simple_subquery(), mark_nullable_by_grouping(), preprocess_rowmarks(), pull_up_simple_subquery(), and remove_result_refs().
|
extern |
Definition at line 97 of file prepunion.c.
References Assert, castNode, fb(), generate_recursion_path(), IsA, NIL, parse(), recurse_set_operations(), root, and setup_simple_rel_arrays().
Referenced by grouping_planner().
|
extern |
Definition at line 110 of file prepagg.c.
References fb(), preprocess_aggrefs_walker(), and root.
Referenced by grouping_planner().
|
extern |
Definition at line 1095 of file prepjointree.c.
References eval_const_expressions(), fb(), inline_function_in_from(), lfirst, root, RTE_FUNCTION, and RTE_SUBQUERY.
Referenced by pull_up_simple_subquery(), and subquery_planner().
|
extern |
Definition at line 417 of file prepjointree.c.
References expand_virtual_generated_columns(), fb(), get_relation_notnullatts(), list_length(), NoLock, parse(), RelationData::rd_rel, root, rt_fetch, RTE_RELATION, table_close(), and table_open().
Referenced by convert_EXISTS_sublink_to_join(), pull_up_simple_subquery(), and subquery_planner().
|
extern |
Definition at line 64 of file preptlist.c.
References add_row_identity_columns(), PlanRowMark::allMarkTypes, Assert, CMD_DELETE, CMD_INSERT, CMD_MERGE, CMD_SELECT, CMD_UPDATE, elog, ERROR, expand_insert_targetlist(), extract_update_targetlist_colnos(), fb(), RangeTblEntry::inh, InvalidOid, IsA, PlanRowMark::isParent, lappend(), lfirst, list_concat_copy(), list_free(), list_length(), makeTargetEntry(), makeVar(), makeWholeRowVar(), NoLock, parse(), PlanRowMark::prti, pstrdup(), pull_var_clause(), PVC_INCLUDE_PLACEHOLDERS, PVC_RECURSE_AGGREGATES, PVC_RECURSE_WINDOWFUNCS, root, ROW_MARK_COPY, PlanRowMark::rowmarkId, rt_fetch, RTE_RELATION, RangeTblEntry::rtekind, PlanRowMark::rti, SelfItemPointerAttributeNumber, snprintf, table_close(), table_open(), TableOidAttributeNumber, tlist_member(), and Var::varno.
Referenced by grouping_planner().
|
extern |
Definition at line 647 of file prepjointree.c.
References fb(), IsA, list_make1, makeFromExpr(), pull_up_sublinks_jointree_recurse(), and root.
Referenced by pull_up_simple_subquery(), and subquery_planner().
|
extern |
Definition at line 1142 of file prepjointree.c.
References Assert, fb(), IsA, pull_up_subqueries_recurse(), and root.
Referenced by pull_up_simple_subquery(), and subquery_planner().
|
extern |
Definition at line 3166 of file prepjointree.c.
References bms_is_empty, bms_make_singleton(), elog, ERROR, fb(), lfirst, NIL, reduce_outer_joins_pass1(), reduce_outer_joins_pass2(), remove_nulling_relids(), and root.
Referenced by subquery_planner().
|
extern |
Definition at line 3659 of file prepjointree.c.
References Assert, bms_is_empty, fb(), foreach_delete_current, IsA, lfirst, remove_nulling_relids(), remove_useless_results_recurse(), root, rt_fetch, RTE_RESULT, and PlanRowMark::rti.
Referenced by subquery_planner().
Definition at line 589 of file prepjointree.c.
References fb(), lappend(), list_length(), list_make1, makeAlias(), makeNode, NIL, parse(), and RTE_RESULT.
Referenced by convert_EXISTS_sublink_to_join(), pull_up_simple_subquery(), and subquery_planner().
Definition at line 187 of file prepjointree.c.
References add_nulling_relids(), Assert, bms_make_singleton(), CMD_MERGE, CMD_NOTHING, elog, ERROR, fb(), foreach_node, IS_NOT_NULL, IsA, JOIN_FULL, JOIN_INNER, JOIN_LEFT, JOIN_RIGHT, lappend(), linitial, list_length(), list_make1, Var::location, make_and_qual(), makeAlias(), makeFromExpr(), makeNode, makeWholeRowVar(), MERGE_WHEN_MATCHED, MERGE_WHEN_NOT_MATCHED_BY_SOURCE, MERGE_WHEN_NOT_MATCHED_BY_TARGET, NIL, nodeTag, NUM_MERGE_MATCH_KINDS, parse(), rt_fetch, RTE_JOIN, and source.
Referenced by subquery_planner().