|
PostgreSQL Source Code git master
|
#include "nodes/pathnodes.h"

Go to the source code of this file.
Functions | |
| PlaceHolderVar * | make_placeholder_expr (PlannerInfo *root, Expr *expr, Relids phrels) |
| PlaceHolderInfo * | find_placeholder_info (PlannerInfo *root, PlaceHolderVar *phv) |
| void | find_placeholders_in_jointree (PlannerInfo *root) |
| void | fix_placeholder_input_needed_levels (PlannerInfo *root) |
| void | rebuild_placeholder_attr_needed (PlannerInfo *root) |
| void | add_placeholders_to_base_rels (PlannerInfo *root) |
| void | add_placeholders_to_joinrel (PlannerInfo *root, RelOptInfo *joinrel, RelOptInfo *outer_rel, RelOptInfo *inner_rel, SpecialJoinInfo *sjinfo) |
| bool | contain_placeholder_references_to (PlannerInfo *root, Node *clause, int relid) |
| Relids | get_placeholder_nulling_relids (PlannerInfo *root, PlaceHolderInfo *phinfo) |
| Node * | strip_noop_phvs (Node *node) |
|
extern |
Definition at line 358 of file placeholder.c.
References Assert, bms_get_singleton_member(), bms_nonempty_difference(), copyObject, PathTarget::exprs, fb(), find_base_rel(), lappend(), lfirst, RelOptInfo::reltarget, and root.
Referenced by query_planner().
|
extern |
Definition at line 402 of file placeholder.c.
References Assert, bms_add_members(), bms_is_subset(), bms_nonempty_difference(), clamp_width_est(), copyObject, PathTarget::cost, cost_qual_eval_node(), RelOptInfo::direct_lateral_relids, PathTarget::exprs, fb(), lappend(), lfirst, QualCost::per_tuple, RelOptInfo::relids, RelOptInfo::reltarget, root, QualCost::startup, and PathTarget::width.
Referenced by build_join_rel().
|
extern |
Definition at line 493 of file placeholder.c.
References contain_placeholder_references_walker(), contain_placeholder_references_context::relid, root, and contain_placeholder_references_context::sublevels_up.
Referenced by make_outerjoininfo().
|
extern |
Definition at line 85 of file placeholder.c.
References Assert, bms_copy(), bms_difference(), bms_int_members(), bms_is_empty, copyObject, elog, ERROR, exprType(), exprTypmod(), fb(), find_placeholders_in_expr(), get_typavgwidth(), lappend(), makeNode, palloc0_array, pull_varnos(), repalloc0_array, and root.
Referenced by add_vars_to_attr_needed(), add_vars_to_targetlist(), build_joinrel_tlist(), create_lateral_join_info(), extract_lateral_vars_from_PHVs(), find_placeholders_in_expr(), identify_current_nestloop_params(), process_subquery_nestloop_params(), replace_nestloop_params_mutator(), and set_rel_width().
|
extern |
Definition at line 187 of file placeholder.c.
References Assert, fb(), find_placeholders_recurse(), IsA, and root.
Referenced by query_planner().
|
extern |
Definition at line 302 of file placeholder.c.
References add_vars_to_targetlist(), fb(), lfirst, list_free(), pull_var_clause(), PVC_INCLUDE_PLACEHOLDERS, PVC_RECURSE_AGGREGATES, PVC_RECURSE_WINDOWFUNCS, and root.
Referenced by query_planner().
|
extern |
Definition at line 561 of file placeholder.c.
References Assert, bms_add_members(), bms_del_members(), bms_is_member(), bms_next_member(), fb(), RelOptInfo::nulling_relids, result, and root.
Referenced by identify_current_nestloop_params().
|
extern |
Definition at line 56 of file placeholder.c.
References fb(), makeNode, and root.
Referenced by add_nullingrels_if_needed(), mark_nullable_by_grouping(), and pullup_replace_vars_callback().
|
extern |
Definition at line 329 of file placeholder.c.
References add_vars_to_attr_needed(), fb(), lfirst, list_free(), pull_var_clause(), PVC_INCLUDE_PLACEHOLDERS, PVC_RECURSE_AGGREGATES, PVC_RECURSE_WINDOWFUNCS, and root.
Referenced by remove_leftjoinrel_from_query(), and remove_self_join_rel().
Definition at line 614 of file placeholder.c.
References contain_noop_phv_walker(), fb(), and strip_noop_phvs_mutator().
Referenced by fix_indexqual_operand(), match_boolean_partition_clause(), match_clause_to_partition_key(), and match_index_to_operand().