PostgreSQL Source Code  git master
PlannerInfo Struct Reference

#include <pathnodes.h>

Public Member Functions

 pg_node_attr (no_copy_equal, no_read, no_query_jumble) NodeTag type
 
PlannerInfo *parent_root pg_node_attr (read_write_ignore)
 
struct RelOptInfo **simple_rel_array pg_node_attr (array_size(simple_rel_array_size))
 
RangeTblEntry **simple_rte_array pg_node_attr (read_write_ignore)
 
struct AppendRelInfo **append_rel_array pg_node_attr (read_write_ignore)
 
struct HTAB *join_rel_hash pg_node_attr (read_write_ignore)
 
List **join_rel_level pg_node_attr (read_write_ignore)
 
struct PlaceHolderInfo **placeholder_array pg_node_attr (read_write_ignore, array_size(placeholder_array_size))
 
int placeholder_array_size pg_node_attr (read_write_ignore)
 
List *part_schemes pg_node_attr (read_write_ignore)
 
List *initial_rels pg_node_attr (read_write_ignore)
 
List *upper_rels[UPPERREL_FINAL+1] pg_node_attr (read_write_ignore)
 
struct PathTarget *upper_targets[UPPERREL_FINAL+1] pg_node_attr (read_write_ignore)
 
AttrNumber *grouping_map pg_node_attr (read_write_ignore)
 
MemoryContext planner_cxt pg_node_attr (read_write_ignore)
 
bool *isAltSubplan pg_node_attr (read_write_ignore)
 
bool *isUsedSubplan pg_node_attr (read_write_ignore)
 
void *join_search_private pg_node_attr (read_write_ignore)
 

Data Fields

Queryparse
 
PlannerGlobalglob
 
Index query_level
 
Listplan_params
 
Bitmapsetouter_params
 
int simple_rel_array_size
 
Relids all_baserels
 
Relids outer_join_rels
 
Relids all_query_rels
 
Listjoin_rel_list
 
int join_cur_level
 
Listinit_plans
 
Listcte_plan_ids
 
Listmultiexpr_params
 
Listjoin_domains
 
Listeq_classes
 
bool ec_merging_done
 
Listcanon_pathkeys
 
Listleft_join_clauses
 
Listright_join_clauses
 
Listfull_join_clauses
 
Listjoin_info_list
 
int last_rinfo_serial
 
Relids all_result_relids
 
Relids leaf_result_relids
 
Listappend_rel_list
 
Listrow_identity_vars
 
ListrowMarks
 
Listplaceholder_list
 
Listfkey_list
 
Listquery_pathkeys
 
Listgroup_pathkeys
 
int num_groupby_pathkeys
 
Listwindow_pathkeys
 
Listdistinct_pathkeys
 
Listsort_pathkeys
 
Listprocessed_groupClause
 
Listprocessed_distinctClause
 
Listprocessed_tlist
 
Listupdate_colnos
 
Listminmax_aggs
 
Cardinality total_table_pages
 
Selectivity tuple_fraction
 
Cardinality limit_tuples
 
Index qual_security_level
 
bool hasJoinRTEs
 
bool hasLateralRTEs
 
bool hasHavingQual
 
bool hasPseudoConstantQuals
 
bool hasAlternativeSubPlans
 
bool placeholdersFrozen
 
bool hasRecursion
 
Listagginfos
 
Listaggtransinfos
 
int numOrderedAggs
 
bool hasNonPartialAggs
 
bool hasNonSerialAggs
 
int wt_param_id
 
struct Pathnon_recursive_path
 
Relids curOuterRels
 
ListcurOuterParams
 
bool partColsUpdated
 

Detailed Description

Definition at line 192 of file pathnodes.h.

Member Function Documentation

◆ pg_node_attr() [1/18]

struct RelOptInfo** simple_rel_array PlannerInfo::pg_node_attr ( array_size(simple_rel_array_size )

◆ pg_node_attr() [2/18]

PlannerInfo::pg_node_attr ( no_copy_equal  ,
no_read  ,
no_query_jumble   
)

◆ pg_node_attr() [3/18]

PlannerInfo* parent_root PlannerInfo::pg_node_attr ( read_write_ignore  )

◆ pg_node_attr() [4/18]

RangeTblEntry** simple_rte_array PlannerInfo::pg_node_attr ( read_write_ignore  )

◆ pg_node_attr() [5/18]

struct AppendRelInfo** append_rel_array PlannerInfo::pg_node_attr ( read_write_ignore  )

◆ pg_node_attr() [6/18]

struct HTAB* join_rel_hash PlannerInfo::pg_node_attr ( read_write_ignore  )

◆ pg_node_attr() [7/18]

List** join_rel_level PlannerInfo::pg_node_attr ( read_write_ignore  )

◆ pg_node_attr() [8/18]

int placeholder_array_size PlannerInfo::pg_node_attr ( read_write_ignore  )

◆ pg_node_attr() [9/18]

List* part_schemes PlannerInfo::pg_node_attr ( read_write_ignore  )

◆ pg_node_attr() [10/18]

List* initial_rels PlannerInfo::pg_node_attr ( read_write_ignore  )

◆ pg_node_attr() [11/18]

List* upper_rels [UPPERREL_FINAL + 1] PlannerInfo::pg_node_attr ( read_write_ignore  )

◆ pg_node_attr() [12/18]

struct PathTarget* upper_targets [UPPERREL_FINAL + 1] PlannerInfo::pg_node_attr ( read_write_ignore  )

◆ pg_node_attr() [13/18]

AttrNumber* grouping_map PlannerInfo::pg_node_attr ( read_write_ignore  )

◆ pg_node_attr() [14/18]

MemoryContext planner_cxt PlannerInfo::pg_node_attr ( read_write_ignore  )

◆ pg_node_attr() [15/18]

bool* isAltSubplan PlannerInfo::pg_node_attr ( read_write_ignore  )

◆ pg_node_attr() [16/18]

bool* isUsedSubplan PlannerInfo::pg_node_attr ( read_write_ignore  )

◆ pg_node_attr() [17/18]

void* join_search_private PlannerInfo::pg_node_attr ( read_write_ignore  )

◆ pg_node_attr() [18/18]

struct PlaceHolderInfo** placeholder_array PlannerInfo::pg_node_attr ( read_write_ignore  ,
array_size(placeholder_array_size)   
)

Field Documentation

◆ agginfos

◆ aggtransinfos

◆ all_baserels

◆ all_query_rels

◆ all_result_relids

◆ append_rel_list

◆ canon_pathkeys

List* PlannerInfo::canon_pathkeys

Definition at line 317 of file pathnodes.h.

Referenced by make_canonical_pathkey(), and query_planner().

◆ cte_plan_ids

◆ curOuterParams

◆ curOuterRels

Relids PlannerInfo::curOuterRels

◆ distinct_pathkeys

List* PlannerInfo::distinct_pathkeys

◆ ec_merging_done

◆ eq_classes

◆ fkey_list

List* PlannerInfo::fkey_list

◆ full_join_clauses

List* PlannerInfo::full_join_clauses

◆ glob

◆ group_pathkeys

◆ hasAlternativeSubPlans

bool PlannerInfo::hasAlternativeSubPlans

Definition at line 497 of file pathnodes.h.

Referenced by fix_scan_expr(), make_subplan(), set_plan_references(), and subquery_planner().

◆ hasHavingQual

◆ hasJoinRTEs

bool PlannerInfo::hasJoinRTEs

Definition at line 489 of file pathnodes.h.

Referenced by preprocess_expression(), and subquery_planner().

◆ hasLateralRTEs

◆ hasNonPartialAggs

bool PlannerInfo::hasNonPartialAggs

Definition at line 513 of file pathnodes.h.

Referenced by can_partial_agg(), and preprocess_aggref().

◆ hasNonSerialAggs

bool PlannerInfo::hasNonSerialAggs

Definition at line 515 of file pathnodes.h.

Referenced by can_partial_agg(), and preprocess_aggref().

◆ hasPseudoConstantQuals

bool PlannerInfo::hasPseudoConstantQuals

◆ hasRecursion

bool PlannerInfo::hasRecursion

◆ init_plans

◆ join_cur_level

int PlannerInfo::join_cur_level

Definition at line 293 of file pathnodes.h.

Referenced by build_join_rel(), join_search_one_level(), and query_planner().

◆ join_domains

◆ join_info_list

◆ join_rel_list

List* PlannerInfo::join_rel_list

◆ last_rinfo_serial

int PlannerInfo::last_rinfo_serial

◆ leaf_result_relids

◆ left_join_clauses

List* PlannerInfo::left_join_clauses

◆ limit_tuples

Cardinality PlannerInfo::limit_tuples

◆ minmax_aggs

◆ multiexpr_params

List* PlannerInfo::multiexpr_params

◆ non_recursive_path

struct Path* PlannerInfo::non_recursive_path

◆ num_groupby_pathkeys

int PlannerInfo::num_groupby_pathkeys

◆ numOrderedAggs

int PlannerInfo::numOrderedAggs

◆ outer_join_rels

◆ outer_params

◆ parse

Query* PlannerInfo::parse

Definition at line 199 of file pathnodes.h.

Referenced by add_foreign_final_paths(), add_foreign_grouping_paths(), add_foreign_ordered_paths(), add_nullingrels_if_needed(), add_paths_to_grouping_rel(), add_row_identity_columns(), add_row_identity_var(), add_rtes_to_flat_rtable(), adjust_appendrel_attrs_mutator(), adjust_group_pathkeys_for_groupagg(), appendGroupByClause(), appendLimitClause(), apply_scanjoin_target_to_paths(), build_base_rel_tlists(), build_minmax_path(), build_simple_rel(), can_partial_agg(), consider_groupingsets_paths(), convert_ANY_sublink_to_join(), convert_EXISTS_sublink_to_join(), convert_EXISTS_to_ANY(), create_ctescan_plan(), create_degenerate_grouping_paths(), create_final_distinct_paths(), create_grouping_paths(), create_groupingsets_plan(), create_limit_plan(), create_minmaxagg_plan(), create_ordinary_grouping_paths(), create_partial_distinct_paths(), create_partial_grouping_paths(), deconstruct_jointree(), deparseLockingClause(), distribute_row_identity_vars(), estimate_path_cost_size(), examine_simple_variable(), expand_inherited_rtentry(), expand_single_inheritance_child(), find_dependent_phvs(), find_dependent_phvs_in_jointree(), find_em_for_rel_target(), find_placeholders_in_jointree(), flatten_simple_union_all(), foreign_grouping_ok(), foreign_join_ok(), get_number_of_groups(), get_rel_all_updated_cols(), get_relation_foreign_keys(), get_result_relid(), get_translated_update_targetlist(), get_useful_group_keys_orderings(), get_windowclause_startup_tuples(), groupclause_apply_groupingset(), grouping_planner(), infer_arbiter_indexes(), inline_cte(), is_degenerate_grouping(), is_simple_values(), join_is_removable(), make_group_input_target(), make_outerjoininfo(), make_sort_input_target(), make_window_input_target(), minmax_qp_callback(), optimize_window_clauses(), perform_pullup_replace_vars(), plan_cluster_use_sort(), plan_create_index_workers(), plan_set_operations(), postgresGetForeignJoinPaths(), preprocess_expression(), preprocess_function_rtes(), preprocess_grouping_sets(), preprocess_limit(), preprocess_minmax_aggregates(), preprocess_rowmarks(), preprocess_targetlist(), pull_up_constant_function(), pull_up_simple_subquery(), pull_up_simple_union_all(), pull_up_simple_values(), pull_up_sublinks(), pull_up_subqueries(), pull_up_subqueries_recurse(), query_planner(), recurse_set_operations(), reduce_outer_joins(), reduce_outer_joins_pass2(), remove_result_refs(), remove_self_join_rel(), remove_self_joins_one_group(), remove_useless_groupby_columns(), remove_useless_result_rtes(), remove_useless_results_recurse(), replace_correlation_vars_mutator(), replace_outer_merge_support(), replace_vars_in_jointree(), select_active_windows(), set_cte_pathlist(), set_subquery_pathlist(), set_subquery_size_estimates(), setup_simple_rel_arrays(), SS_process_ctes(), standard_qp_callback(), and subquery_planner().

◆ partColsUpdated

bool PlannerInfo::partColsUpdated

Definition at line 546 of file pathnodes.h.

Referenced by expand_partitioned_rtentry(), grouping_planner(), and subquery_planner().

◆ placeholder_list

◆ placeholdersFrozen

◆ plan_params

◆ processed_distinctClause

List* PlannerInfo::processed_distinctClause

◆ processed_groupClause

◆ processed_tlist

◆ qual_security_level

◆ query_level

◆ query_pathkeys

◆ right_join_clauses

List* PlannerInfo::right_join_clauses

◆ row_identity_vars

◆ rowMarks

◆ simple_rel_array_size

◆ sort_pathkeys

◆ total_table_pages

Cardinality PlannerInfo::total_table_pages

Definition at line 475 of file pathnodes.h.

Referenced by index_pages_fetched(), make_one_rel(), and plan_cluster_use_sort().

◆ tuple_fraction

◆ update_colnos

◆ window_pathkeys

List* PlannerInfo::window_pathkeys

Definition at line 395 of file pathnodes.h.

Referenced by create_window_paths(), minmax_qp_callback(), and standard_qp_callback().

◆ wt_param_id


The documentation for this struct was generated from the following file: