PostgreSQL Source Code  git master
RelOptInfo Struct Reference

#include <pathnodes.h>

Data Fields

NodeTag type
 
RelOptKind reloptkind
 
Relids relids
 
double rows
 
bool consider_startup
 
bool consider_param_startup
 
bool consider_parallel
 
struct PathTargetreltarget
 
Listpathlist
 
Listppilist
 
Listpartial_pathlist
 
struct Pathcheapest_startup_path
 
struct Pathcheapest_total_path
 
struct Pathcheapest_unique_path
 
Listcheapest_parameterized_paths
 
Relids direct_lateral_relids
 
Relids lateral_relids
 
Index relid
 
Oid reltablespace
 
RTEKind rtekind
 
AttrNumber min_attr
 
AttrNumber max_attr
 
Relidsattr_needed
 
int32attr_widths
 
Listlateral_vars
 
Relids lateral_referencers
 
Listindexlist
 
Liststatlist
 
BlockNumber pages
 
double tuples
 
double allvisfrac
 
Bitmapseteclass_indexes
 
PlannerInfosubroot
 
Listsubplan_params
 
int rel_parallel_workers
 
Oid serverid
 
Oid userid
 
bool useridiscurrent
 
struct FdwRoutinefdwroutine
 
void * fdw_private
 
Listunique_for_rels
 
Listnon_unique_for_rels
 
Listbaserestrictinfo
 
QualCost baserestrictcost
 
Index baserestrict_min_security
 
Listjoininfo
 
bool has_eclass_joins
 
bool consider_partitionwise_join
 
Relids top_parent_relids
 
PartitionScheme part_scheme
 
int nparts
 
struct PartitionBoundInfoDataboundinfo
 
Listpartition_qual
 
struct RelOptInfo ** part_rels
 
List ** partexprs
 
List ** nullable_partexprs
 
Listpartitioned_child_rels
 

Detailed Description

Definition at line 634 of file pathnodes.h.

Field Documentation

◆ allvisfrac

double RelOptInfo::allvisfrac

◆ attr_needed

◆ attr_widths

◆ baserestrict_min_security

◆ baserestrictcost

◆ baserestrictinfo

◆ boundinfo

◆ cheapest_parameterized_paths

◆ cheapest_startup_path

◆ cheapest_total_path

◆ cheapest_unique_path

struct Path* RelOptInfo::cheapest_unique_path

◆ consider_parallel

bool RelOptInfo::consider_parallel

Definition at line 649 of file pathnodes.h.

Referenced by add_partial_path(), add_paths_to_append_rel(), apply_scanjoin_target_to_paths(), build_child_join_rel(), build_index_paths(), build_join_rel(), build_simple_rel(), create_agg_path(), create_append_path(), create_bitmap_and_path(), create_bitmap_heap_path(), create_bitmap_or_path(), create_ctescan_path(), create_distinct_paths(), create_foreign_join_path(), create_foreign_upper_path(), create_foreignscan_path(), create_functionscan_path(), create_group_path(), create_group_result_path(), create_groupingsets_path(), create_hashjoin_path(), create_index_path(), create_index_paths(), create_limit_path(), create_material_path(), create_merge_append_path(), create_mergejoin_path(), create_namedtuplestorescan_path(), create_nestloop_path(), create_ordered_paths(), create_partial_grouping_paths(), create_projection_path(), create_recursiveunion_path(), create_resultscan_path(), create_samplescan_path(), create_seqscan_path(), create_set_projection_path(), create_setop_path(), create_sort_path(), create_subqueryscan_path(), create_tablefuncscan_path(), create_tidscan_path(), create_unique_path(), create_upper_unique_path(), create_valuesscan_path(), create_window_paths(), create_windowagg_path(), create_worktablescan_path(), fetch_upper_rel(), generate_union_paths(), grouping_planner(), hash_inner_and_outer(), make_grouping_rel(), match_unsorted_outer(), query_planner(), recurse_set_operations(), set_append_rel_pathlist(), set_append_rel_size(), set_plain_rel_pathlist(), set_rel_consider_parallel(), set_subquery_pathlist(), sort_inner_and_outer(), and SS_charge_for_initplans().

◆ consider_param_startup

bool RelOptInfo::consider_param_startup

◆ consider_partitionwise_join

◆ consider_startup

bool RelOptInfo::consider_startup

◆ direct_lateral_relids

◆ eclass_indexes

◆ fdw_private

◆ fdwroutine

◆ has_eclass_joins

◆ indexlist

◆ joininfo

◆ lateral_referencers

◆ lateral_relids

◆ lateral_vars

List* RelOptInfo::lateral_vars

◆ max_attr

◆ min_attr

◆ non_unique_for_rels

List* RelOptInfo::non_unique_for_rels

Definition at line 700 of file pathnodes.h.

Referenced by build_join_rel(), build_simple_rel(), and innerrel_is_unique().

◆ nparts

◆ nullable_partexprs

◆ pages

◆ part_rels

◆ part_scheme

◆ partexprs

◆ partial_pathlist

◆ partition_qual

◆ partitioned_child_rels

List* RelOptInfo::partitioned_child_rels

◆ pathlist

◆ ppilist

◆ rel_parallel_workers

int RelOptInfo::rel_parallel_workers

◆ relid

Index RelOptInfo::relid

Definition at line 669 of file pathnodes.h.

Referenced by add_rtes_to_flat_rtable(), approximate_joinrel_size(), bitmap_and_cost_est(), bitmap_scan_cost_est(), brincostestimate(), btcostestimate(), build_child_join_rel(), build_index_paths(), build_index_tlist(), build_join_rel(), build_physical_tlist(), build_simple_rel(), BuildParameterizedTidPaths(), check_index_only(), check_index_predicates(), check_selective_binary_conversion(), cost_bitmap_heap_scan(), cost_ctescan(), cost_functionscan(), cost_index(), cost_namedtuplestorescan(), cost_resultscan(), cost_samplescan(), cost_seqscan(), cost_subqueryscan(), cost_tablefuncscan(), cost_tidscan(), cost_valuesscan(), create_bitmap_scan_plan(), create_ctescan_plan(), create_foreignscan_plan(), create_functionscan_plan(), create_index_paths(), create_indexscan_plan(), create_lateral_join_info(), create_namedtuplestorescan_plan(), create_resultscan_plan(), create_samplescan_plan(), create_seqscan_plan(), create_subqueryscan_plan(), create_tablefuncscan_plan(), create_tidscan_plan(), create_unique_path(), create_valuesscan_plan(), create_worktablescan_plan(), deparseFromExprForRel(), deparseSelectSql(), dependencies_clauselist_selectivity(), estimate_path_cost_size(), examine_variable(), expand_indexqual_rowcompare(), extract_restriction_or_clauses(), fileGetForeignPlan(), find_childrel_parents(), find_lateral_references(), find_var_for_subquery_tle(), fix_indexqual_operand(), genericcostestimate(), get_actual_variable_range(), get_loop_count(), get_parameterized_baserel_size(), get_relation_constraints(), get_relation_foreign_keys(), get_relation_info(), gincostestimate(), is_pseudo_constant_for_index(), IsCTIDVar(), IsCurrentOfClause(), IsTidEqualAnyClause(), IsTidEqualClause(), join_clause_is_movable_to(), make_one_rel(), make_partition_pruneinfo(), make_partitionedrel_pruneinfo(), match_index_to_operand(), match_opclause_to_indexcol(), match_rowcompare_to_indexcol(), match_saopclause_to_indexcol(), postgresGetForeignPaths(), postgresGetForeignPlan(), postgresGetForeignRelSize(), rel_is_distinct_for(), rel_supports_distinctness(), relation_excluded_by_constraints(), remove_rel_from_query(), remove_unused_subquery_outputs(), set_append_rel_size(), set_base_rel_pathlists(), set_base_rel_sizes(), set_baserel_partition_constraint(), set_baserel_partition_key_exprs(), set_baserel_size_estimates(), set_cte_size_estimates(), set_foreign_size_estimates(), set_function_pathlist(), set_function_size_estimates(), set_namedtuplestore_size_estimates(), set_rel_width(), set_result_size_estimates(), set_subquery_size_estimates(), set_tablefunc_size_estimates(), set_values_size_estimates(), and statext_mcv_clauselist_selectivity().

◆ relids

Relids RelOptInfo::relids

Definition at line 641 of file pathnodes.h.

Referenced by _outPathInfo(), add_child_rel_equivalences(), add_join_rel(), add_paths_to_append_rel(), add_paths_to_joinrel(), add_placeholders_to_joinrel(), add_vars_to_targetlist(), append_startup_cost_compare(), append_total_cost_compare(), apply_scanjoin_target_to_paths(), approx_tuple_count(), build_child_join_rel(), build_index_pathkeys(), build_join_rel(), build_join_rel_hash(), build_joinrel_restrictlist(), build_joinrel_tlist(), build_partition_pathkeys(), build_simple_rel(), calc_joinrel_size_estimate(), calc_non_nestloop_required_outer(), check_index_predicates(), clause_sides_match_join(), compute_semi_anti_join_factors(), consider_new_or_clause(), convert_subquery_pathkeys(), create_append_path(), create_append_plan(), create_customscan_plan(), create_foreignscan_plan(), create_gather_merge_plan(), create_hashjoin_plan(), create_merge_append_path(), create_merge_append_plan(), create_mergejoin_plan(), create_nestloop_path(), create_nestloop_plan(), create_partial_grouping_paths(), create_partitionwise_grouping_paths(), create_sort_plan(), create_unique_path(), deparseFromExpr(), deparseFromExprForRel(), deparseLockingClause(), deparseRangeTblRef(), deparseVar(), eclass_useful_for_merging(), fetch_upper_rel(), final_cost_hashjoin(), find_em_expr_for_rel(), find_join_rel(), foreign_grouping_ok(), foreign_join_ok(), generate_implied_equalities_for_column(), generate_join_implied_equalities(), generate_join_implied_equalities_broken(), generate_join_implied_equalities_for_ecs(), generate_nonunion_paths(), generate_partitionwise_join_paths(), generate_recursion_path(), generate_union_paths(), get_appendrel_parampathinfo(), get_baserel_parampathinfo(), get_join_variables(), get_joinrel_parampathinfo(), get_useful_ecs_for_relation(), has_indexed_join_quals(), has_join_restriction(), has_legal_joinclause(), has_relevant_eclass_joinclause(), hash_inner_and_outer(), have_join_order_restriction(), have_partkey_equi_join(), have_relevant_eclass_joinclause(), have_relevant_joinclause(), initial_cost_mergejoin(), is_foreign_expr(), is_foreign_param(), is_innerrel_unique_for(), is_safe_restriction_clause_for(), join_is_legal(), join_is_removable(), join_search_one_level(), make_grouping_rel(), make_join_rel(), make_one_rel(), make_partitionedrel_pruneinfo(), make_rels_by_clause_joins(), make_rels_by_clauseless_joins(), match_pathkeys_to_index(), populate_joinrel_with_paths(), reparameterize_path_by_child(), restriction_is_constant_false(), select_mergejoin_clauses(), select_outer_pathkeys_for_merge(), set_function_pathlist(), subbuild_joinrel_joinlist(), subbuild_joinrel_restrictlist(), try_nestloop_path(), try_partial_nestloop_path(), try_partitionwise_join(), and use_physical_tlist().

◆ reloptkind

◆ reltablespace

◆ reltarget

struct PathTarget* RelOptInfo::reltarget

Definition at line 652 of file pathnodes.h.

Referenced by _outPathInfo(), add_foreign_grouping_paths(), add_foreign_ordered_paths(), add_paths_to_grouping_rel(), add_placeholders_to_base_rels(), add_placeholders_to_joinrel(), add_vars_to_targetlist(), appendOrderByClause(), apply_scanjoin_target_to_paths(), bitmap_and_cost_est(), bitmap_scan_cost_est(), build_child_join_rel(), build_child_join_reltarget(), build_join_rel(), build_joinrel_tlist(), build_simple_rel(), build_tlist_to_deparse(), check_index_only(), check_selective_binary_conversion(), create_append_path(), create_bitmap_and_path(), create_bitmap_heap_path(), create_bitmap_or_path(), create_ctescan_path(), create_degenerate_grouping_paths(), create_foreign_join_path(), create_foreign_upper_path(), create_foreignscan_path(), create_foreignscan_plan(), create_functionscan_path(), create_gather_merge_path(), create_group_path(), create_groupingsets_path(), create_hashjoin_path(), create_index_path(), create_material_path(), create_merge_append_path(), create_mergejoin_path(), create_modifytable_path(), create_namedtuplestorescan_path(), create_nestloop_path(), create_partial_grouping_paths(), create_partitionwise_grouping_paths(), create_resultscan_path(), create_samplescan_path(), create_seqscan_path(), create_subqueryscan_path(), create_tablefuncscan_path(), create_tidscan_path(), create_unique_path(), create_valuesscan_path(), create_worktablescan_path(), deparseRangeTblRef(), deparseSubqueryTargetList(), estimate_path_cost_size(), estimate_size(), fetch_upper_rel(), find_var_for_subquery_tle(), foreign_grouping_ok(), gather_grouping_paths(), generate_gather_paths(), generate_nonunion_paths(), generate_partitionwise_join_paths(), generate_recursion_path(), generate_union_paths(), get_relation_column_alias_ids(), grouping_planner(), inheritance_planner(), make_grouping_rel(), plan_cluster_use_sort(), postgresGetForeignJoinPaths(), postgresGetForeignRelSize(), query_planner(), recurse_set_operations(), remove_unused_subquery_outputs(), set_append_rel_size(), set_dummy_rel_pathlist(), set_function_pathlist(), set_rel_consider_parallel(), and set_rel_width().

◆ rows

◆ rtekind

◆ serverid

◆ statlist

◆ subplan_params

List* RelOptInfo::subplan_params

◆ subroot

◆ top_parent_relids

◆ tuples

◆ type

NodeTag RelOptInfo::type

Definition at line 636 of file pathnodes.h.

◆ unique_for_rels

List* RelOptInfo::unique_for_rels

Definition at line 698 of file pathnodes.h.

Referenced by build_join_rel(), build_simple_rel(), and innerrel_is_unique().

◆ userid

◆ useridiscurrent


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