PostgreSQL Source Code  git master
PlannerInfo Struct Reference

#include <pathnodes.h>

Data Fields

NodeTag type
 
Queryparse
 
PlannerGlobalglob
 
Index query_level
 
PlannerInfoparent_root
 
Listplan_params
 
Bitmapsetouter_params
 
struct RelOptInfo ** simple_rel_array
 
int simple_rel_array_size
 
RangeTblEntry ** simple_rte_array
 
struct AppendRelInfo ** append_rel_array
 
Relids all_baserels
 
Relids nullable_baserels
 
Listjoin_rel_list
 
struct HTABjoin_rel_hash
 
List ** join_rel_level
 
int join_cur_level
 
Listinit_plans
 
Listcte_plan_ids
 
Listmultiexpr_params
 
Listeq_classes
 
bool ec_merging_done
 
Listcanon_pathkeys
 
Listleft_join_clauses
 
Listright_join_clauses
 
Listfull_join_clauses
 
Listjoin_info_list
 
Listappend_rel_list
 
ListrowMarks
 
Listplaceholder_list
 
Listfkey_list
 
Listquery_pathkeys
 
Listgroup_pathkeys
 
Listwindow_pathkeys
 
Listdistinct_pathkeys
 
Listsort_pathkeys
 
Listpart_schemes
 
Listinitial_rels
 
Listupper_rels [UPPERREL_FINAL+1]
 
struct PathTargetupper_targets [UPPERREL_FINAL+1]
 
Listprocessed_tlist
 
AttrNumbergrouping_map
 
Listminmax_aggs
 
MemoryContext planner_cxt
 
double total_table_pages
 
double tuple_fraction
 
double limit_tuples
 
Index qual_security_level
 
InheritanceKind inhTargetKind
 
bool hasJoinRTEs
 
bool hasLateralRTEs
 
bool hasHavingQual
 
bool hasPseudoConstantQuals
 
bool hasRecursion
 
int wt_param_id
 
struct Pathnon_recursive_path
 
Relids curOuterRels
 
ListcurOuterParams
 
void * join_search_private
 
bool partColsUpdated
 

Detailed Description

Definition at line 173 of file pathnodes.h.

Field Documentation

◆ all_baserels

◆ append_rel_array

◆ append_rel_list

◆ canon_pathkeys

List* PlannerInfo::canon_pathkeys

Definition at line 268 of file pathnodes.h.

Referenced by make_canonical_pathkey(), and query_planner().

◆ cte_plan_ids

List* PlannerInfo::cte_plan_ids

◆ curOuterParams

◆ curOuterRels

Relids PlannerInfo::curOuterRels

◆ distinct_pathkeys

List* PlannerInfo::distinct_pathkeys

Definition at line 300 of file pathnodes.h.

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

◆ ec_merging_done

◆ eq_classes

◆ fkey_list

List* PlannerInfo::fkey_list

◆ full_join_clauses

List* PlannerInfo::full_join_clauses

◆ glob

◆ group_pathkeys

◆ grouping_map

AttrNumber* PlannerInfo::grouping_map

◆ hasHavingQual

◆ hasJoinRTEs

bool PlannerInfo::hasJoinRTEs

Definition at line 343 of file pathnodes.h.

Referenced by preprocess_expression(), and subquery_planner().

◆ hasLateralRTEs

◆ hasPseudoConstantQuals

bool PlannerInfo::hasPseudoConstantQuals

◆ hasRecursion

bool PlannerInfo::hasRecursion

◆ inhTargetKind

◆ init_plans

◆ initial_rels

List* PlannerInfo::initial_rels

Definition at line 306 of file pathnodes.h.

Referenced by has_legal_joinclause(), make_rel_from_joinlist(), and query_planner().

◆ join_cur_level

int PlannerInfo::join_cur_level

Definition at line 255 of file pathnodes.h.

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

◆ join_info_list

◆ join_rel_hash

struct HTAB* PlannerInfo::join_rel_hash

◆ join_rel_level

List** PlannerInfo::join_rel_level

◆ join_rel_list

List* PlannerInfo::join_rel_list

◆ join_search_private

void* PlannerInfo::join_search_private

Definition at line 359 of file pathnodes.h.

Referenced by geqo(), geqo_rand(), geqo_set_seed(), gimme_tree(), and innerrel_is_unique().

◆ left_join_clauses

List* PlannerInfo::left_join_clauses

◆ limit_tuples

double PlannerInfo::limit_tuples

◆ minmax_aggs

◆ multiexpr_params

List* PlannerInfo::multiexpr_params

◆ non_recursive_path

struct Path* PlannerInfo::non_recursive_path

◆ nullable_baserels

Relids PlannerInfo::nullable_baserels

◆ outer_params

◆ parent_root

◆ parse

Query* PlannerInfo::parse

Definition at line 177 of file pathnodes.h.

Referenced by add_foreign_final_paths(), add_foreign_grouping_paths(), add_foreign_ordered_paths(), add_paths_to_grouping_rel(), add_rtes_to_flat_rtable(), adjust_appendrel_attrs_mutator(), adjust_foreign_grouping_path_cost(), appendGroupByClause(), appendLimitClause(), apply_scanjoin_target_to_paths(), build_base_rel_tlists(), build_minmax_path(), can_partial_agg(), check_index_predicates(), 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_distinct_paths(), create_grouping_paths(), create_groupingsets_plan(), create_minmaxagg_plan(), create_ordinary_grouping_paths(), create_partial_grouping_paths(), deconstruct_jointree(), deparseLockingClause(), distribute_qual_to_rels(), estimate_path_cost_size(), examine_simple_variable(), expand_single_inheritance_child(), find_em_expr_for_input_target(), find_placeholders_in_jointree(), flatten_simple_union_all(), foreign_grouping_ok(), foreign_join_ok(), generate_partitionwise_join_paths(), get_number_of_groups(), get_relation_foreign_keys(), get_result_relid(), grouping_planner(), infer_arbiter_indexes(), inheritance_planner(), inline_cte(), is_degenerate_grouping(), is_simple_values(), make_group_input_target(), make_outerjoininfo(), make_partial_grouping_target(), make_sort_input_target(), make_window_input_target(), minmax_qp_callback(), perform_pullup_replace_vars(), plan_cluster_use_sort(), plan_create_index_workers(), plan_set_operations(), postgresGetForeignJoinPaths(), preprocess_expression(), preprocess_function_rtes(), preprocess_groupclause(), 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(), reduce_outer_joins(), reduce_outer_joins_pass2(), relation_excluded_by_constraints(), remove_result_refs(), remove_useless_groupby_columns(), remove_useless_result_rtes(), remove_useless_results_recurse(), 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().

◆ part_schemes

List* PlannerInfo::part_schemes

Definition at line 303 of file pathnodes.h.

Referenced by find_partition_scheme().

◆ partColsUpdated

bool PlannerInfo::partColsUpdated

Definition at line 362 of file pathnodes.h.

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

◆ placeholder_list

◆ plan_params

◆ planner_cxt

◆ processed_tlist

◆ qual_security_level

Index PlannerInfo::qual_security_level

◆ query_level

◆ query_pathkeys

◆ right_join_clauses

List* PlannerInfo::right_join_clauses

◆ rowMarks

◆ simple_rel_array

◆ simple_rel_array_size

◆ simple_rte_array

◆ sort_pathkeys

◆ total_table_pages

double PlannerInfo::total_table_pages

Definition at line 331 of file pathnodes.h.

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

◆ tuple_fraction

◆ type

NodeTag PlannerInfo::type

Definition at line 175 of file pathnodes.h.

Referenced by expression_planner_with_deps(), and extract_query_dependencies().

◆ upper_rels

List* PlannerInfo::upper_rels[UPPERREL_FINAL+1]

Definition at line 309 of file pathnodes.h.

Referenced by fetch_upper_rel(), pull_up_simple_subquery(), and subquery_planner().

◆ upper_targets

◆ window_pathkeys

List* PlannerInfo::window_pathkeys

Definition at line 299 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: