|
PostgreSQL Source Code git master
|
#include "postgres.h"#include <limits.h>#include <math.h>#include "access/amapi.h"#include "access/htup_details.h"#include "access/tsmapi.h"#include "executor/executor.h"#include "executor/nodeAgg.h"#include "executor/nodeHash.h"#include "executor/nodeMemoize.h"#include "miscadmin.h"#include "nodes/makefuncs.h"#include "nodes/nodeFuncs.h"#include "optimizer/clauses.h"#include "optimizer/cost.h"#include "optimizer/optimizer.h"#include "optimizer/pathnode.h"#include "optimizer/paths.h"#include "optimizer/placeholder.h"#include "optimizer/plancat.h"#include "optimizer/restrictinfo.h"#include "parser/parsetree.h"#include "utils/lsyscache.h"#include "utils/selfuncs.h"#include "utils/spccache.h"#include "utils/tuplesort.h"
Go to the source code of this file.
Data Structures | |
| struct | cost_qual_eval_context |
Macros | |
| #define | LOG2(x) (log(x) / 0.693147180559945) |
| #define | APPEND_CPU_COST_MULTIPLIER 0.5 |
| #define | MAXIMUM_ROWCOUNT 1e100 |
| #define APPEND_CPU_COST_MULTIPLIER 0.5 |
Definition at line 120 of file costsize.c.
Definition at line 128 of file costsize.c.
Definition at line 2234 of file costsize.c.
References fb(), for_each_cell, i, lfirst, Min, palloc_array, subpath(), and Path::total_cost.
Referenced by cost_append().
|
static |
Definition at line 5451 of file costsize.c.
References clamp_row_est(), clause_selectivity(), fb(), init_dummy_sjinfo(), JoinPath::innerjoinpath, JOIN_INNER, lfirst, JoinPath::outerjoinpath, root, and Path::rows.
Referenced by final_cost_hashjoin(), and final_cost_mergejoin().
|
static |
Definition at line 4222 of file costsize.c.
References RestrictInfo::clause, MergeScanSelCache::cmptype, MergeScanSelCache::collation, fb(), lappend(), MergeScanSelCache::leftendsel, MergeScanSelCache::leftstartsel, lfirst, MemoryContextSwitchTo(), mergejoinscansel(), MergeScanSelCache::nulls_first, MergeScanSelCache::opfamily, palloc_object, MergeScanSelCache::rightendsel, MergeScanSelCache::rightstartsel, and root.
Referenced by initial_cost_mergejoin().
|
static |
Definition at line 5648 of file costsize.c.
References clamp_row_est(), clauselist_selectivity(), elog, ERROR, fb(), get_foreign_key_join_selectivity(), IS_OUTER_JOIN, JOIN_ANTI, JOIN_FULL, JOIN_INNER, JOIN_LEFT, JOIN_SEMI, SpecialJoinInfo::jointype, lappend(), lfirst_node, list_free(), NIL, RelOptInfo::relids, RINFO_IS_PUSHED_DOWN, and root.
Referenced by get_parameterized_joinrel_size(), and set_joinrel_size_estimates().
Definition at line 213 of file costsize.c.
References fb(), and MAXIMUM_ROWCOUNT.
Referenced by adjust_limit_rows_costs(), approx_tuple_count(), bernoulli_samplescangetsamplesize(), calc_joinrel_size_estimate(), compute_bitmap_pages(), compute_gather_rows(), cost_agg(), cost_append(), cost_bitmap_heap_scan(), cost_group(), cost_index(), cost_seqscan(), cost_subplan(), cost_subqueryscan(), cost_tidrangescan(), create_bitmap_subplan(), create_memoize_path(), estimate_array_length(), estimate_hash_bucket_stats(), estimate_num_groups(), estimate_path_cost_size(), estimate_size(), expression_returns_set_rows(), final_cost_hashjoin(), final_cost_mergejoin(), final_cost_nestloop(), get_parameterized_baserel_size(), get_variable_numdistinct(), get_windowclause_startup_tuples(), initial_cost_mergejoin(), set_baserel_size_estimates(), set_cte_size_estimates(), set_foreign_size(), system_rows_samplescangetsamplesize(), system_samplescangetsamplesize(), system_time_samplescangetsamplesize(), and table_block_relation_estimate_size().
Definition at line 242 of file costsize.c.
References Assert, fb(), and MaxAllocSize.
Referenced by add_placeholders_to_joinrel(), build_joinrel_tlist(), create_one_window_path(), get_rel_data_width(), set_pathtarget_cost_width(), and set_rel_width().
| double compute_bitmap_pages | ( | PlannerInfo * | root, |
| RelOptInfo * | baserel, | ||
| Path * | bitmapqual, | ||
| double | loop_count, | ||
| Cost * | cost_p, | ||
| double * | tuples_p | ||
| ) |
Definition at line 6661 of file costsize.c.
References clamp_row_est(), cost_bitmap_tree_node(), fb(), get_indexpath_pages(), index_pages_fetched(), Max, Min, root, T, tbm_calculate_entries(), and work_mem.
Referenced by cost_bitmap_heap_scan(), and create_partial_bitmap_paths().
Definition at line 6772 of file costsize.c.
References Assert, clamp_row_est(), get_parallel_divisor(), Path::parallel_workers, and Path::rows.
Referenced by create_ordered_paths(), gather_grouping_paths(), generate_gather_paths(), and generate_useful_gather_paths().
| void compute_semi_anti_join_factors | ( | PlannerInfo * | root, |
| RelOptInfo * | joinrel, | ||
| RelOptInfo * | outerrel, | ||
| RelOptInfo * | innerrel, | ||
| JoinType | jointype, | ||
| SpecialJoinInfo * | sjinfo, | ||
| List * | restrictlist, | ||
| SemiAntiJoinFactors * | semifactors | ||
| ) |
Definition at line 5261 of file costsize.c.
References clauselist_selectivity(), fb(), init_dummy_sjinfo(), IS_OUTER_JOIN, JOIN_ANTI, JOIN_INNER, JOIN_SEMI, lappend(), lfirst_node, list_free(), SemiAntiJoinFactors::match_count, Max, NIL, SemiAntiJoinFactors::outer_match_frac, RelOptInfo::relids, RINFO_IS_PUSHED_DOWN, root, and RelOptInfo::rows.
Referenced by add_paths_to_joinrel().
| void cost_agg | ( | Path * | path, |
| PlannerInfo * | root, | ||
| AggStrategy | aggstrategy, | ||
| const AggClauseCosts * | aggcosts, | ||
| int | numGroupCols, | ||
| double | numGroups, | ||
| List * | quals, | ||
| int | disabled_nodes, | ||
| Cost | input_startup_cost, | ||
| Cost | input_total_cost, | ||
| double | input_tuples, | ||
| double | input_width | ||
| ) |
Definition at line 2792 of file costsize.c.
References AGG_HASHED, AGG_MIXED, AGG_PLAIN, AGG_SORTED, Assert, clamp_row_est(), clauselist_selectivity(), cost_qual_eval(), cpu_operator_cost, cpu_tuple_cost, Path::disabled_nodes, enable_hashagg, fb(), hash_agg_entry_size(), hash_agg_set_limits(), JOIN_INNER, list_length(), Max, random_page_cost, relation_byte_size(), root, Path::rows, seq_page_cost, Path::startup_cost, and Path::total_cost.
Referenced by create_agg_path(), and create_groupingsets_path().
| void cost_append | ( | AppendPath * | apath, |
| PlannerInfo * | root | ||
| ) |
Definition at line 2310 of file costsize.c.
References APPEND_CPU_COST_MULTIPLIER, append_nonpartial_cost(), Assert, clamp_row_est(), cost_incremental_sort(), cost_sort(), cpu_tuple_cost, enable_incremental_sort, fb(), get_parallel_divisor(), i, lfirst, linitial, Min, NIL, pathkeys_count_contained_in(), PGS_APPEND, PGS_CONSIDER_NONPARTIAL, RelOptInfo::pgs_mask, root, Path::rows, Path::startup_cost, subpath(), and work_mem.
Referenced by create_append_path().
| void cost_bitmap_and_node | ( | BitmapAndPath * | path, |
| PlannerInfo * | root | ||
| ) |
Definition at line 1157 of file costsize.c.
References BitmapAndPath::bitmapquals, BitmapAndPath::bitmapselectivity, cost_bitmap_tree_node(), cpu_operator_cost, Path::disabled_nodes, fb(), lfirst, list_head(), BitmapAndPath::path, Path::rows, Path::startup_cost, subpath(), and Path::total_cost.
Referenced by create_bitmap_and_path().
| void cost_bitmap_heap_scan | ( | Path * | path, |
| PlannerInfo * | root, | ||
| RelOptInfo * | baserel, | ||
| ParamPathInfo * | param_info, | ||
| Path * | bitmapqual, | ||
| double | loop_count | ||
| ) |
Definition at line 1011 of file costsize.c.
References Assert, clamp_row_est(), compute_bitmap_pages(), cpu_tuple_cost, Path::disabled_nodes, fb(), get_parallel_divisor(), get_restriction_qual_cost(), get_tablespace_page_costs(), IsA, Path::parallel_workers, PGS_BITMAPSCAN, PGS_CONSIDER_NONPARTIAL, root, Path::rows, RTE_RELATION, Path::startup_cost, T, and Path::total_cost.
Referenced by bitmap_scan_cost_est(), and create_bitmap_heap_path().
| void cost_bitmap_or_node | ( | BitmapOrPath * | path, |
| PlannerInfo * | root | ||
| ) |
Definition at line 1202 of file costsize.c.
References BitmapOrPath::bitmapquals, BitmapOrPath::bitmapselectivity, cost_bitmap_tree_node(), cpu_operator_cost, fb(), IsA, lfirst, list_head(), Min, BitmapOrPath::path, Path::rows, Path::startup_cost, subpath(), and Path::total_cost.
Referenced by create_bitmap_or_path().
| void cost_bitmap_tree_node | ( | Path * | path, |
| Cost * | cost, | ||
| Selectivity * | selec | ||
| ) |
Definition at line 1114 of file costsize.c.
References cpu_operator_cost, elog, ERROR, fb(), IsA, nodeTag, Path::rows, and Path::total_cost.
Referenced by choose_bitmap_and(), compute_bitmap_pages(), cost_bitmap_and_node(), cost_bitmap_or_node(), and path_usage_comparator().
| void cost_ctescan | ( | Path * | path, |
| PlannerInfo * | root, | ||
| RelOptInfo * | baserel, | ||
| ParamPathInfo * | param_info | ||
| ) |
Definition at line 1744 of file costsize.c.
References Assert, cpu_tuple_cost, Path::disabled_nodes, fb(), get_restriction_qual_cost(), Path::parallel_workers, PGS_CONSIDER_NONPARTIAL, root, Path::rows, RTE_CTE, Path::startup_cost, and Path::total_cost.
Referenced by create_ctescan_path(), and create_worktablescan_path().
| void cost_functionscan | ( | Path * | path, |
| PlannerInfo * | root, | ||
| RelOptInfo * | baserel, | ||
| ParamPathInfo * | param_info | ||
| ) |
Definition at line 1562 of file costsize.c.
References Assert, cost_qual_eval_node(), cpu_tuple_cost, Path::disabled_nodes, fb(), get_restriction_qual_cost(), Path::parallel_workers, PGS_CONSIDER_NONPARTIAL, planner_rt_fetch, root, Path::rows, RTE_FUNCTION, Path::startup_cost, and Path::total_cost.
Referenced by create_functionscan_path().
| void cost_gather | ( | GatherPath * | path, |
| PlannerInfo * | root, | ||
| RelOptInfo * | rel, | ||
| ParamPathInfo * | param_info, | ||
| double * | rows | ||
| ) |
Definition at line 429 of file costsize.c.
References Path::disabled_nodes, fb(), parallel_setup_cost, parallel_tuple_cost, GatherPath::path, PGS_GATHER, RelOptInfo::pgs_mask, RelOptInfo::rows, Path::rows, Path::startup_cost, GatherPath::subpath, and Path::total_cost.
Referenced by create_gather_path().
| void cost_gather_merge | ( | GatherMergePath * | path, |
| PlannerInfo * | root, | ||
| RelOptInfo * | rel, | ||
| ParamPathInfo * | param_info, | ||
| int | input_disabled_nodes, | ||
| Cost | input_startup_cost, | ||
| Cost | input_total_cost, | ||
| double * | rows | ||
| ) |
Definition at line 469 of file costsize.c.
References Assert, cpu_operator_cost, Path::disabled_nodes, fb(), LOG2, GatherMergePath::num_workers, parallel_setup_cost, parallel_tuple_cost, GatherMergePath::path, PGS_GATHER_MERGE, RelOptInfo::pgs_mask, RelOptInfo::rows, Path::rows, Path::startup_cost, GatherMergePath::subpath, and Path::total_cost.
Referenced by create_gather_merge_path().
| void cost_group | ( | Path * | path, |
| PlannerInfo * | root, | ||
| int | numGroupCols, | ||
| double | numGroups, | ||
| List * | quals, | ||
| int | input_disabled_nodes, | ||
| Cost | input_startup_cost, | ||
| Cost | input_total_cost, | ||
| double | input_tuples | ||
| ) |
Definition at line 3305 of file costsize.c.
References clamp_row_est(), clauselist_selectivity(), cost_qual_eval(), cpu_operator_cost, Path::disabled_nodes, fb(), JOIN_INNER, root, Path::rows, Path::startup_cost, and Path::total_cost.
Referenced by create_group_path().
| void cost_incremental_sort | ( | Path * | path, |
| PlannerInfo * | root, | ||
| List * | pathkeys, | ||
| int | presorted_keys, | ||
| int | input_disabled_nodes, | ||
| Cost | input_startup_cost, | ||
| Cost | input_total_cost, | ||
| double | input_tuples, | ||
| int | width, | ||
| Cost | comparison_cost, | ||
| int | sort_mem, | ||
| double | limit_tuples | ||
| ) |
Definition at line 2052 of file costsize.c.
References Assert, bms_is_member(), cost_tuplesort(), cpu_tuple_cost, DEFAULT_NUM_DISTINCT, Path::disabled_nodes, EquivalenceMember::em_expr, enable_incremental_sort, estimate_num_groups(), fb(), foreach_current_index, lappend(), lfirst, linitial, list_length(), Min, NIL, pull_varnos(), root, Path::rows, Path::startup_cost, and Path::total_cost.
Referenced by cost_append(), create_incremental_sort_path(), create_merge_append_path(), initial_cost_mergejoin(), and label_incrementalsort_with_costsize().
| void cost_index | ( | IndexPath * | path, |
| PlannerInfo * | root, | ||
| double | loop_count, | ||
| bool | partial_path | ||
| ) |
Definition at line 544 of file costsize.c.
References Assert, clamp_row_est(), compute_parallel_worker(), cost_qual_eval(), cpu_tuple_cost, Path::disabled_nodes, extract_nonindex_conditions(), fb(), get_parallel_divisor(), get_tablespace_page_costs(), index_pages_fetched(), IndexPath::indexclauses, IndexPath::indexinfo, IndexPath::indexselectivity, IndexPath::indextotalcost, IndexOptInfo::indrestrictinfo, IsA, list_concat(), max_parallel_workers_per_gather, Path::parallel_aware, Path::parallel_workers, IndexPath::path, Path::pathtype, PGS_CONSIDER_NONPARTIAL, PGS_INDEXONLYSCAN, PGS_INDEXSCAN, root, Path::rows, RTE_RELATION, Path::startup_cost, and Path::total_cost.
Referenced by create_index_path(), and reparameterize_path().
| void cost_material | ( | Path * | path, |
| bool | enabled, | ||
| int | input_disabled_nodes, | ||
| Cost | input_startup_cost, | ||
| Cost | input_total_cost, | ||
| double | tuples, | ||
| int | width | ||
| ) |
Definition at line 2582 of file costsize.c.
References cpu_operator_cost, Path::disabled_nodes, fb(), Path::parallel_workers, PGS_CONSIDER_NONPARTIAL, relation_byte_size(), Path::rows, seq_page_cost, Path::startup_cost, Path::total_cost, and work_mem.
Referenced by create_material_path(), and materialize_finished_plan().
|
static |
Definition at line 2645 of file costsize.c.
References Assert, cpu_operator_cost, cpu_tuple_cost, estimate_num_groups(), ExecEstimateCacheEntryOverheadBytes(), fb(), get_expr_width(), get_hash_memory_limit(), lfirst, Max, Min, PG_UINT32_MAX, relation_byte_size(), root, and SELFLAG_USED_DEFAULT.
Referenced by cost_rescan().
| void cost_merge_append | ( | Path * | path, |
| PlannerInfo * | root, | ||
| List * | pathkeys, | ||
| int | n_streams, | ||
| int | input_disabled_nodes, | ||
| Cost | input_startup_cost, | ||
| Cost | input_total_cost, | ||
| double | tuples | ||
| ) |
Definition at line 2524 of file costsize.c.
References APPEND_CPU_COST_MULTIPLIER, cpu_operator_cost, cpu_tuple_cost, Path::disabled_nodes, fb(), LOG2, Path::parallel_workers, PGS_CONSIDER_NONPARTIAL, RelOptInfo::pgs_mask, PGS_MERGE_APPEND, Path::startup_cost, and Path::total_cost.
Referenced by create_merge_append_path().
| void cost_namedtuplestorescan | ( | Path * | path, |
| PlannerInfo * | root, | ||
| RelOptInfo * | baserel, | ||
| ParamPathInfo * | param_info | ||
| ) |
Definition at line 1790 of file costsize.c.
References Assert, cpu_tuple_cost, Path::disabled_nodes, fb(), get_restriction_qual_cost(), Path::parallel_workers, PGS_CONSIDER_NONPARTIAL, root, Path::rows, RTE_NAMEDTUPLESTORE, Path::startup_cost, and Path::total_cost.
Referenced by create_namedtuplestorescan_path().
| void cost_qual_eval | ( | QualCost * | cost, |
| List * | quals, | ||
| PlannerInfo * | root | ||
| ) |
Definition at line 4903 of file costsize.c.
References cost_qual_eval_walker(), lfirst, QualCost::per_tuple, cost_qual_eval_context::root, root, QualCost::startup, and cost_qual_eval_context::total.
Referenced by add_foreign_grouping_paths(), cost_agg(), cost_group(), cost_index(), cost_subplan(), cost_tidrangescan(), cost_tidscan(), create_group_result_path(), create_minmaxagg_path(), estimate_path_cost_size(), final_cost_hashjoin(), final_cost_mergejoin(), final_cost_nestloop(), get_restriction_qual_cost(), inline_function(), plan_cluster_use_sort(), postgresGetForeignJoinPaths(), postgresGetForeignRelSize(), set_baserel_size_estimates(), and set_foreign_size_estimates().
| void cost_qual_eval_node | ( | QualCost * | cost, |
| Node * | qual, | ||
| PlannerInfo * | root | ||
| ) |
Definition at line 4929 of file costsize.c.
References cost_qual_eval_walker(), QualCost::per_tuple, cost_qual_eval_context::root, root, QualCost::startup, and cost_qual_eval_context::total.
Referenced by add_placeholders_to_joinrel(), cost_functionscan(), cost_qual_eval_walker(), cost_tablefuncscan(), cost_windowagg(), find_simplified_clause(), get_agg_clause_costs(), index_other_operands_eval_cost(), make_sort_input_target(), order_qual_clauses(), set_pathtarget_cost_width(), and set_rel_width().
|
static |
Definition at line 4943 of file costsize.c.
References add_function_cost(), CoerceViaIO::arg, ScalarArrayOpExpr::args, RestrictInfo::clause, cost_qual_eval_node(), cost_qual_eval_walker(), cpu_operator_cost, elog, ERROR, estimate_array_length(), expression_tree_walker, exprType(), fb(), get_opcode(), getTypeInputInfo(), getTypeOutputInfo(), IsA, lfirst_oid, linitial, lsecond, OidIsValid, SubPlan::per_call_cost, QualCost::per_tuple, CoerceViaIO::resulttype, cost_qual_eval_context::root, set_opfuncid(), set_sa_opfuncid(), QualCost::startup, SubPlan::startup_cost, and cost_qual_eval_context::total.
Referenced by cost_qual_eval(), cost_qual_eval_node(), and cost_qual_eval_walker().
Definition at line 1874 of file costsize.c.
References cpu_tuple_cost, fb(), Max, and PGS_CONSIDER_NONPARTIAL.
Referenced by create_recursiveunion_path().
|
static |
Definition at line 4788 of file costsize.c.
References cost_memoize_rescan(), cpu_operator_cost, cpu_tuple_cost, fb(), Path::pathtype, relation_byte_size(), root, seq_page_cost, Path::startup_cost, Path::total_cost, and work_mem.
Referenced by initial_cost_nestloop().
| void cost_resultscan | ( | Path * | path, |
| PlannerInfo * | root, | ||
| RelOptInfo * | baserel, | ||
| ParamPathInfo * | param_info | ||
| ) |
Definition at line 1832 of file costsize.c.
References Assert, cpu_tuple_cost, Path::disabled_nodes, fb(), get_restriction_qual_cost(), Path::parallel_workers, PGS_CONSIDER_NONPARTIAL, root, Path::rows, RTE_RESULT, Path::startup_cost, and Path::total_cost.
Referenced by create_resultscan_path().
| void cost_samplescan | ( | Path * | path, |
| PlannerInfo * | root, | ||
| RelOptInfo * | baserel, | ||
| ParamPathInfo * | param_info | ||
| ) |
Definition at line 348 of file costsize.c.
References Assert, cpu_tuple_cost, Path::disabled_nodes, fb(), get_restriction_qual_cost(), get_tablespace_page_costs(), GetTsmRoutine(), Path::parallel_workers, PGS_CONSIDER_NONPARTIAL, planner_rt_fetch, root, Path::rows, RTE_RELATION, Path::startup_cost, and Path::total_cost.
Referenced by create_samplescan_path().
| void cost_seqscan | ( | Path * | path, |
| PlannerInfo * | root, | ||
| RelOptInfo * | baserel, | ||
| ParamPathInfo * | param_info | ||
| ) |
Definition at line 269 of file costsize.c.
References Assert, clamp_row_est(), cpu_tuple_cost, Path::disabled_nodes, fb(), get_parallel_divisor(), get_restriction_qual_cost(), get_tablespace_page_costs(), Path::parallel_workers, PGS_CONSIDER_NONPARTIAL, PGS_SEQSCAN, root, Path::rows, RTE_RELATION, Path::startup_cost, and Path::total_cost.
Referenced by create_seqscan_path().
| void cost_sort | ( | Path * | path, |
| PlannerInfo * | root, | ||
| List * | pathkeys, | ||
| int | input_disabled_nodes, | ||
| Cost | input_cost, | ||
| double | tuples, | ||
| int | width, | ||
| Cost | comparison_cost, | ||
| int | sort_mem, | ||
| double | limit_tuples | ||
| ) |
Definition at line 2200 of file costsize.c.
References cost_tuplesort(), Path::disabled_nodes, enable_sort, fb(), Path::rows, Path::startup_cost, and Path::total_cost.
Referenced by adjust_foreign_grouping_path_cost(), cost_append(), create_groupingsets_path(), create_merge_append_path(), create_sort_path(), initial_cost_mergejoin(), label_sort_with_costsize(), and plan_cluster_use_sort().
| void cost_subplan | ( | PlannerInfo * | root, |
| SubPlan * | subplan, | ||
| Plan * | plan | ||
| ) |
Definition at line 4681 of file costsize.c.
References ALL_SUBLINK, ANY_SUBLINK, clamp_row_est(), cost_qual_eval(), cpu_operator_cost, ExecMaterializesOutput(), EXISTS_SUBLINK, fb(), make_ands_implicit(), NIL, nodeTag, SubPlan::parParam, SubPlan::per_call_cost, plan, SubPlan::startup_cost, SubPlan::subLinkType, SubPlan::testexpr, and SubPlan::useHashTable.
Referenced by build_subplan(), SS_make_initplan_from_plan(), and SS_process_ctes().
| void cost_subqueryscan | ( | SubqueryScanPath * | path, |
| PlannerInfo * | root, | ||
| RelOptInfo * | baserel, | ||
| ParamPathInfo * | param_info, | ||
| bool | trivial_pathtarget | ||
| ) |
Definition at line 1477 of file costsize.c.
References Assert, clamp_row_est(), clauselist_selectivity(), cpu_tuple_cost, Path::disabled_nodes, fb(), get_restriction_qual_cost(), JOIN_INNER, list_concat_copy(), NIL, Path::parallel_workers, SubqueryScanPath::path, PGS_CONSIDER_NONPARTIAL, root, Path::rows, RTE_SUBQUERY, Path::startup_cost, SubqueryScanPath::subpath, and Path::total_cost.
Referenced by create_subqueryscan_path().
| void cost_tablefuncscan | ( | Path * | path, |
| PlannerInfo * | root, | ||
| RelOptInfo * | baserel, | ||
| ParamPathInfo * | param_info | ||
| ) |
Definition at line 1628 of file costsize.c.
References Assert, cost_qual_eval_node(), cpu_tuple_cost, Path::disabled_nodes, fb(), get_restriction_qual_cost(), Path::parallel_workers, PGS_CONSIDER_NONPARTIAL, planner_rt_fetch, root, Path::rows, RTE_TABLEFUNC, Path::startup_cost, and Path::total_cost.
Referenced by create_tablefuncscan_path().
| void cost_tidrangescan | ( | Path * | path, |
| PlannerInfo * | root, | ||
| RelOptInfo * | baserel, | ||
| List * | tidrangequals, | ||
| ParamPathInfo * | param_info | ||
| ) |
Definition at line 1360 of file costsize.c.
References Assert, clamp_row_est(), clauselist_selectivity(), cost_qual_eval(), cpu_tuple_cost, Path::disabled_nodes, fb(), get_parallel_divisor(), get_restriction_qual_cost(), get_tablespace_page_costs(), JOIN_INNER, Path::parallel_workers, PGS_CONSIDER_NONPARTIAL, PGS_TIDSCAN, root, Path::rows, RTE_RELATION, Path::startup_cost, and Path::total_cost.
Referenced by create_tidrangescan_path().
| void cost_tidscan | ( | Path * | path, |
| PlannerInfo * | root, | ||
| RelOptInfo * | baserel, | ||
| List * | tidquals, | ||
| ParamPathInfo * | param_info | ||
| ) |
Definition at line 1250 of file costsize.c.
References ScalarArrayOpExpr::args, Assert, RestrictInfo::clause, cost_qual_eval(), cpu_tuple_cost, Path::disabled_nodes, estimate_array_length(), fb(), get_restriction_qual_cost(), get_tablespace_page_costs(), IsA, lfirst_node, list_length(), lsecond, NIL, Path::parallel_workers, PGS_CONSIDER_NONPARTIAL, PGS_TIDSCAN, root, Path::rows, RTE_RELATION, Path::startup_cost, and Path::total_cost.
Referenced by create_tidscan_path().
|
static |
Definition at line 1950 of file costsize.c.
References cpu_operator_cost, fb(), LOG2, random_page_cost, relation_byte_size(), seq_page_cost, and tuplesort_merge_order().
Referenced by cost_incremental_sort(), and cost_sort().
| void cost_valuesscan | ( | Path * | path, |
| PlannerInfo * | root, | ||
| RelOptInfo * | baserel, | ||
| ParamPathInfo * | param_info | ||
| ) |
Definition at line 1689 of file costsize.c.
References Assert, cpu_operator_cost, cpu_tuple_cost, Path::disabled_nodes, fb(), get_restriction_qual_cost(), Path::parallel_workers, PGS_CONSIDER_NONPARTIAL, root, Path::rows, RTE_VALUES, Path::startup_cost, and Path::total_cost.
Referenced by create_valuesscan_path().
| void cost_windowagg | ( | Path * | path, |
| PlannerInfo * | root, | ||
| List * | windowFuncs, | ||
| WindowClause * | winclause, | ||
| int | input_disabled_nodes, | ||
| Cost | input_startup_cost, | ||
| Cost | input_total_cost, | ||
| double | input_tuples | ||
| ) |
Definition at line 3208 of file costsize.c.
References add_function_cost(), WindowFunc::aggfilter, WindowFunc::args, cost_qual_eval_node(), cpu_operator_cost, cpu_tuple_cost, Path::disabled_nodes, fb(), get_windowclause_startup_tuples(), lfirst_node, list_length(), WindowClause::orderClause, WindowClause::partitionClause, root, Path::rows, QualCost::startup, Path::startup_cost, Path::total_cost, and WindowFunc::winfnoid.
Referenced by create_windowagg_path().
Definition at line 838 of file costsize.c.
References fb(), is_redundant_with_indexclauses(), lappend(), lfirst_node, and NIL.
Referenced by cost_index().
| void final_cost_hashjoin | ( | PlannerInfo * | root, |
| HashPath * | path, | ||
| JoinCostWorkspace * | workspace, | ||
| JoinPathExtraData * | extra | ||
| ) |
Definition at line 4420 of file costsize.c.
References approx_tuple_count(), Assert, bms_is_subset(), clamp_row_est(), cost_qual_eval(), cpu_tuple_cost, disable_cost, JoinCostWorkspace::disabled_nodes, estimate_hash_bucket_stats(), estimate_multivariate_bucketsize(), fb(), get_hash_memory_limit(), get_leftop(), get_parallel_divisor(), get_rightop(), HashPath::inner_rows_total, JoinCostWorkspace::inner_rows_total, JoinPathExtraData::inner_unique, JoinPath::innerjoinpath, JOIN_ANTI, JOIN_SEMI, JoinPath::joinrestrictinfo, JoinPath::jointype, HashPath::jpath, lfirst_node, SemiAntiJoinFactors::match_count, HashPath::num_batches, JoinCostWorkspace::numbatches, JoinCostWorkspace::numbuckets, SemiAntiJoinFactors::outer_match_frac, JoinPath::outerjoinpath, HashPath::path_hashclauses, relation_byte_size(), RELATION_WAS_MADE_UNIQUE, root, Path::rows, JoinCostWorkspace::run_cost, JoinPathExtraData::semifactors, JoinPathExtraData::sjinfo, and JoinCostWorkspace::startup_cost.
Referenced by create_hashjoin_path().
| void final_cost_mergejoin | ( | PlannerInfo * | root, |
| MergePath * | path, | ||
| JoinCostWorkspace * | workspace, | ||
| JoinPathExtraData * | extra | ||
| ) |
Definition at line 3959 of file costsize.c.
References approx_tuple_count(), clamp_row_est(), cost_qual_eval(), cpu_operator_cost, cpu_tuple_cost, JoinCostWorkspace::disabled_nodes, ExecSupportsMarkRestore(), fb(), get_parallel_divisor(), JoinCostWorkspace::inner_rows, JoinCostWorkspace::inner_run_cost, JoinCostWorkspace::inner_skip_rows, JoinPathExtraData::inner_unique, JoinPath::innerjoinpath, MergePath::innersortkeys, JOIN_ANTI, JOIN_SEMI, JoinPath::joinrestrictinfo, JoinPath::jointype, MergePath::jpath, list_length(), MergePath::materialize_inner, NIL, JoinCostWorkspace::outer_rows, JoinCostWorkspace::outer_skip_rows, JoinPath::outerjoinpath, MergePath::path_mergeclauses, PGS_CONSIDER_NONPARTIAL, JoinPathExtraData::pgs_mask, PGS_MERGEJOIN_MATERIALIZE, PGS_MERGEJOIN_PLAIN, relation_byte_size(), RELATION_WAS_MADE_UNIQUE, root, Path::rows, JoinCostWorkspace::run_cost, JoinPathExtraData::sjinfo, MergePath::skip_mark_restore, JoinCostWorkspace::startup_cost, and work_mem.
Referenced by create_mergejoin_path().
| void final_cost_nestloop | ( | PlannerInfo * | root, |
| NestPath * | path, | ||
| JoinCostWorkspace * | workspace, | ||
| JoinPathExtraData * | extra | ||
| ) |
Definition at line 3459 of file costsize.c.
References clamp_row_est(), cost_qual_eval(), cpu_tuple_cost, JoinCostWorkspace::disabled_nodes, fb(), get_parallel_divisor(), has_indexed_join_quals(), JoinCostWorkspace::inner_rescan_run_cost, JoinCostWorkspace::inner_run_cost, JoinPathExtraData::inner_unique, JoinPath::innerjoinpath, JOIN_ANTI, JOIN_SEMI, JoinPath::joinrestrictinfo, JoinPath::jointype, NestPath::jpath, SemiAntiJoinFactors::match_count, SemiAntiJoinFactors::outer_match_frac, JoinPath::outerjoinpath, root, Path::rows, JoinCostWorkspace::run_cost, JoinPathExtraData::semifactors, and JoinCostWorkspace::startup_cost.
Referenced by create_nestloop_path().
|
static |
Definition at line 6552 of file costsize.c.
References Assert, exprType(), exprTypmod(), fb(), get_typavgwidth(), IS_SPECIAL_VARNO, IsA, RelOptInfo::max_attr, RelOptInfo::min_attr, root, Var::varattno, Var::varlevelsup, and Var::varno.
Referenced by cost_memoize_rescan(), and set_pathtarget_cost_width().
|
static |
Definition at line 5798 of file costsize.c.
References bms_is_member(), bms_membership(), BMS_SINGLETON, CLAMP_PROBABILITY, clause_selectivity(), EquivalenceClass::ec_has_const, fb(), find_base_rel(), find_derived_clause_for_ec_member(), foreach_delete_current, i, JOIN_ANTI, JOIN_SEMI, SpecialJoinInfo::jointype, lappend(), lfirst, list_concat(), list_copy(), list_length(), list_member_ptr(), Max, NIL, and root.
Referenced by calc_joinrel_size_estimate().
Definition at line 961 of file costsize.c.
References elog, ERROR, fb(), get_indexpath_pages(), IsA, lfirst, and nodeTag.
Referenced by compute_bitmap_pages(), and get_indexpath_pages().
Definition at line 6621 of file costsize.c.
References fb(), parallel_leader_participation, and Path::parallel_workers.
Referenced by compute_gather_rows(), cost_append(), cost_bitmap_heap_scan(), cost_index(), cost_seqscan(), cost_tidrangescan(), final_cost_hashjoin(), final_cost_mergejoin(), final_cost_nestloop(), and initial_cost_hashjoin().
| double get_parameterized_baserel_size | ( | PlannerInfo * | root, |
| RelOptInfo * | rel, | ||
| List * | param_clauses | ||
| ) |
Definition at line 5526 of file costsize.c.
References RelOptInfo::baserestrictinfo, clamp_row_est(), clauselist_selectivity(), fb(), JOIN_INNER, list_concat_copy(), RelOptInfo::relid, root, RelOptInfo::rows, and RelOptInfo::tuples.
Referenced by get_baserel_parampathinfo().
| double get_parameterized_joinrel_size | ( | PlannerInfo * | root, |
| RelOptInfo * | rel, | ||
| Path * | outer_path, | ||
| Path * | inner_path, | ||
| SpecialJoinInfo * | sjinfo, | ||
| List * | restrict_clauses | ||
| ) |
Definition at line 5607 of file costsize.c.
References calc_joinrel_size_estimate(), fb(), root, and RelOptInfo::rows.
Referenced by get_joinrel_parampathinfo().
|
static |
Definition at line 5219 of file costsize.c.
References cost_qual_eval(), fb(), and root.
Referenced by cost_bitmap_heap_scan(), cost_ctescan(), cost_functionscan(), cost_namedtuplestorescan(), cost_resultscan(), cost_samplescan(), cost_seqscan(), cost_subqueryscan(), cost_tablefuncscan(), cost_tidrangescan(), cost_tidscan(), and cost_valuesscan().
|
static |
Definition at line 2994 of file costsize.c.
References Assert, clamp_row_est(), Const::consttype, DatumGetInt16(), DatumGetInt32(), DatumGetInt64(), DEFAULT_INEQ_SEL, WindowClause::endOffset, estimate_num_groups(), fb(), FRAMEOPTION_END_CURRENT_ROW, FRAMEOPTION_END_OFFSET_FOLLOWING, FRAMEOPTION_END_OFFSET_PRECEDING, FRAMEOPTION_END_UNBOUNDED_FOLLOWING, FRAMEOPTION_GROUPS, FRAMEOPTION_RANGE, FRAMEOPTION_ROWS, WindowClause::frameOptions, get_sortgrouplist_exprs(), IsA, list_free(), Min, NIL, WindowClause::orderClause, WindowClause::partitionClause, and root.
Referenced by cost_windowagg().
Definition at line 5358 of file costsize.c.
References fb(), is_redundant_with_indexclauses(), IsA, join_clause_is_movable_into(), NestPath::jpath, lfirst, and NIL.
Referenced by final_cost_nestloop().
| double index_pages_fetched | ( | double | tuples_fetched, |
| BlockNumber | pages, | ||
| double | index_pages, | ||
| PlannerInfo * | root | ||
| ) |
Definition at line 896 of file costsize.c.
References Assert, b, effective_cache_size, fb(), Max, root, and T.
Referenced by compute_bitmap_pages(), cost_index(), genericcostestimate(), and gincostestimate().
| void initial_cost_hashjoin | ( | PlannerInfo * | root, |
| JoinCostWorkspace * | workspace, | ||
| JoinType | jointype, | ||
| List * | hashclauses, | ||
| Path * | outer_path, | ||
| Path * | inner_path, | ||
| JoinPathExtraData * | extra, | ||
| bool | parallel_hash | ||
| ) |
Definition at line 4301 of file costsize.c.
References cpu_operator_cost, cpu_tuple_cost, JoinCostWorkspace::disabled_nodes, ExecChooseHashTableSize(), fb(), get_parallel_divisor(), JoinCostWorkspace::inner_rows_total, list_length(), JoinCostWorkspace::numbatches, JoinCostWorkspace::numbuckets, page_size(), PGS_CONSIDER_NONPARTIAL, PGS_HASHJOIN, JoinPathExtraData::pgs_mask, JoinCostWorkspace::run_cost, seq_page_cost, JoinCostWorkspace::startup_cost, and JoinCostWorkspace::total_cost.
Referenced by try_hashjoin_path(), and try_partial_hashjoin_path().
| void initial_cost_mergejoin | ( | PlannerInfo * | root, |
| JoinCostWorkspace * | workspace, | ||
| JoinType | jointype, | ||
| List * | mergeclauses, | ||
| Path * | outer_path, | ||
| Path * | inner_path, | ||
| List * | outersortkeys, | ||
| List * | innersortkeys, | ||
| int | outer_presorted_keys, | ||
| JoinPathExtraData * | extra | ||
| ) |
Definition at line 3662 of file costsize.c.
References Assert, bms_is_subset(), cached_scansel(), clamp_row_est(), cost_incremental_sort(), cost_sort(), JoinCostWorkspace::disabled_nodes, elog, enable_incremental_sort, ERROR, fb(), JoinCostWorkspace::inner_rows, JoinCostWorkspace::inner_run_cost, JoinCostWorkspace::inner_skip_rows, JOIN_ANTI, JOIN_FULL, JOIN_LEFT, JOIN_RIGHT, JOIN_RIGHT_ANTI, MergeScanSelCache::leftendsel, MergeScanSelCache::leftstartsel, linitial, JoinCostWorkspace::outer_rows, JoinCostWorkspace::outer_skip_rows, pathkeys_contained_in(), MergeScanSelCache::rightendsel, MergeScanSelCache::rightstartsel, root, JoinCostWorkspace::run_cost, JoinCostWorkspace::startup_cost, JoinCostWorkspace::total_cost, and work_mem.
Referenced by try_mergejoin_path(), and try_partial_mergejoin_path().
| void initial_cost_nestloop | ( | PlannerInfo * | root, |
| JoinCostWorkspace * | workspace, | ||
| JoinType | jointype, | ||
| uint64 | enable_mask, | ||
| Path * | outer_path, | ||
| Path * | inner_path, | ||
| JoinPathExtraData * | extra | ||
| ) |
Definition at line 3377 of file costsize.c.
References cost_rescan(), JoinCostWorkspace::disabled_nodes, fb(), JoinCostWorkspace::inner_rescan_run_cost, JoinCostWorkspace::inner_run_cost, JoinPathExtraData::inner_unique, JOIN_ANTI, JOIN_SEMI, JoinPathExtraData::pgs_mask, root, JoinCostWorkspace::run_cost, JoinCostWorkspace::startup_cost, and JoinCostWorkspace::total_cost.
Referenced by try_nestloop_path(), and try_partial_nestloop_path().
Definition at line 6611 of file costsize.c.
References fb(), and relation_byte_size().
Referenced by initial_cost_hashjoin().
Definition at line 6600 of file costsize.c.
References MAXALIGN, and SizeofHeapTupleHeader.
Referenced by cost_agg(), cost_material(), cost_memoize_rescan(), cost_rescan(), cost_tuplesort(), final_cost_hashjoin(), final_cost_mergejoin(), and page_size().
| void set_baserel_size_estimates | ( | PlannerInfo * | root, |
| RelOptInfo * | rel | ||
| ) |
Definition at line 5496 of file costsize.c.
References Assert, RelOptInfo::baserestrictcost, RelOptInfo::baserestrictinfo, clamp_row_est(), clauselist_selectivity(), cost_qual_eval(), fb(), JOIN_INNER, RelOptInfo::relid, root, RelOptInfo::rows, set_rel_width(), and RelOptInfo::tuples.
Referenced by postgresGetForeignRelSize(), set_cte_size_estimates(), set_function_size_estimates(), set_namedtuplestore_size_estimates(), set_plain_rel_size(), set_result_size_estimates(), set_subquery_size_estimates(), set_tablefunc_size_estimates(), set_tablesample_rel_size(), and set_values_size_estimates().
| void set_cte_size_estimates | ( | PlannerInfo * | root, |
| RelOptInfo * | rel, | ||
| double | cte_rows | ||
| ) |
Definition at line 6222 of file costsize.c.
References Assert, clamp_row_est(), fb(), planner_rt_fetch, recursive_worktable_factor, RelOptInfo::relid, root, RTE_CTE, set_baserel_size_estimates(), and RelOptInfo::tuples.
Referenced by set_cte_pathlist(), and set_worktable_pathlist().
| void set_foreign_size_estimates | ( | PlannerInfo * | root, |
| RelOptInfo * | rel | ||
| ) |
Definition at line 6322 of file costsize.c.
References Assert, RelOptInfo::baserestrictcost, RelOptInfo::baserestrictinfo, cost_qual_eval(), RelOptInfo::relid, root, RelOptInfo::rows, and set_rel_width().
Referenced by set_foreign_size().
| void set_function_size_estimates | ( | PlannerInfo * | root, |
| RelOptInfo * | rel | ||
| ) |
Definition at line 6130 of file costsize.c.
References Assert, expression_returns_set_rows(), fb(), RangeTblFunction::funcexpr, lfirst, planner_rt_fetch, RelOptInfo::relid, root, RTE_FUNCTION, set_baserel_size_estimates(), and RelOptInfo::tuples.
Referenced by set_rel_size().
| void set_joinrel_size_estimates | ( | PlannerInfo * | root, |
| RelOptInfo * | rel, | ||
| RelOptInfo * | outer_rel, | ||
| RelOptInfo * | inner_rel, | ||
| SpecialJoinInfo * | sjinfo, | ||
| List * | restrictlist | ||
| ) |
Definition at line 5575 of file costsize.c.
References calc_joinrel_size_estimate(), fb(), root, and RelOptInfo::rows.
Referenced by build_child_join_rel(), build_join_rel(), and make_grouped_join_rel().
| void set_namedtuplestore_size_estimates | ( | PlannerInfo * | root, |
| RelOptInfo * | rel | ||
| ) |
Definition at line 6260 of file costsize.c.
References Assert, fb(), planner_rt_fetch, RelOptInfo::relid, root, RTE_NAMEDTUPLESTORE, set_baserel_size_estimates(), and RelOptInfo::tuples.
Referenced by set_namedtuplestore_pathlist().
| PathTarget * set_pathtarget_cost_width | ( | PlannerInfo * | root, |
| PathTarget * | target | ||
| ) |
Definition at line 6514 of file costsize.c.
References clamp_width_est(), PathTarget::cost, cost_qual_eval_node(), PathTarget::exprs, fb(), get_expr_width(), IsA, lfirst, QualCost::per_tuple, root, QualCost::startup, and PathTarget::width.
Referenced by create_rel_agg_info(), make_group_input_target(), make_partial_grouping_target(), make_sort_input_target(), make_window_input_target(), and split_pathtarget_at_srfs_extended().
|
static |
Definition at line 6357 of file costsize.c.
References Assert, clamp_width_est(), PathTarget::cost, cost_qual_eval_node(), PathTarget::exprs, exprType(), exprTypmod(), fb(), find_placeholder_info(), get_attavgwidth(), get_relation_data_width(), get_typavgwidth(), i, InvalidOid, IsA, lfirst, RelOptInfo::max_attr, MAXALIGN, RelOptInfo::min_attr, QualCost::per_tuple, planner_rt_fetch, RelOptInfo::relid, RelOptInfo::reltarget, root, SizeofHeapTupleHeader, QualCost::startup, Var::varattno, and PathTarget::width.
Referenced by set_baserel_size_estimates(), and set_foreign_size_estimates().
| void set_result_size_estimates | ( | PlannerInfo * | root, |
| RelOptInfo * | rel | ||
| ) |
Definition at line 6293 of file costsize.c.
References Assert, planner_rt_fetch, RelOptInfo::relid, root, RTE_RESULT, set_baserel_size_estimates(), and RelOptInfo::tuples.
Referenced by set_result_pathlist().
| void set_subquery_size_estimates | ( | PlannerInfo * | root, |
| RelOptInfo * | rel | ||
| ) |
Definition at line 6050 of file costsize.c.
References Assert, TargetEntry::expr, fb(), fetch_upper_rel(), find_base_rel(), IsA, lfirst_node, RelOptInfo::max_attr, RelOptInfo::min_attr, PlannerInfo::parse, planner_rt_fetch, RelOptInfo::relid, TargetEntry::resno, root, RTE_SUBQUERY, set_baserel_size_estimates(), Query::setOperations, RelOptInfo::subroot, Query::targetList, RelOptInfo::tuples, UPPERREL_FINAL, Var::varattno, and Var::varno.
Referenced by build_setop_child_paths(), and set_subquery_pathlist().
| void set_tablefunc_size_estimates | ( | PlannerInfo * | root, |
| RelOptInfo * | rel | ||
| ) |
Definition at line 6168 of file costsize.c.
References Assert, planner_rt_fetch, RelOptInfo::relid, root, RTE_TABLEFUNC, set_baserel_size_estimates(), and RelOptInfo::tuples.
Referenced by set_rel_size().
| void set_values_size_estimates | ( | PlannerInfo * | root, |
| RelOptInfo * | rel | ||
| ) |
Definition at line 6190 of file costsize.c.
References Assert, fb(), list_length(), planner_rt_fetch, RelOptInfo::relid, root, RTE_VALUES, set_baserel_size_estimates(), and RelOptInfo::tuples.
Referenced by set_rel_size().
| double cpu_index_tuple_cost = DEFAULT_CPU_INDEX_TUPLE_COST |
Definition at line 133 of file costsize.c.
Referenced by genericcostestimate(), and gincostestimate().
| double cpu_operator_cost = DEFAULT_CPU_OPERATOR_COST |
Definition at line 134 of file costsize.c.
Referenced by add_function_cost(), brincostestimate(), btcostestimate(), cached_plan_cost(), cost_agg(), cost_bitmap_and_node(), cost_bitmap_or_node(), cost_bitmap_tree_node(), cost_gather_merge(), cost_group(), cost_material(), cost_memoize_rescan(), cost_merge_append(), cost_qual_eval_walker(), cost_rescan(), cost_subplan(), cost_tuplesort(), cost_valuesscan(), cost_windowagg(), create_mergejoin_plan(), create_setop_path(), create_unique_path(), estimate_path_cost_size(), final_cost_mergejoin(), find_simplified_clause(), genericcostestimate(), gincostestimate(), gistcostestimate(), initial_cost_hashjoin(), inline_function(), make_sort_input_target(), order_qual_clauses(), spgcostestimate(), and test_support_func().
| double cpu_tuple_cost = DEFAULT_CPU_TUPLE_COST |
Definition at line 132 of file costsize.c.
Referenced by cost_agg(), cost_append(), cost_bitmap_heap_scan(), cost_ctescan(), cost_functionscan(), cost_incremental_sort(), cost_index(), cost_memoize_rescan(), cost_merge_append(), cost_namedtuplestorescan(), cost_recursive_union(), cost_rescan(), cost_resultscan(), cost_samplescan(), cost_seqscan(), cost_subqueryscan(), cost_tablefuncscan(), cost_tidrangescan(), cost_tidscan(), cost_valuesscan(), cost_windowagg(), create_group_result_path(), create_lockrows_path(), create_memoize_path(), create_minmaxagg_path(), create_projection_path(), create_set_projection_path(), estimate_costs(), estimate_path_cost_size(), final_cost_hashjoin(), final_cost_mergejoin(), final_cost_nestloop(), and initial_cost_hashjoin().
| Cost disable_cost = 1.0e10 |
Definition at line 141 of file costsize.c.
Referenced by final_cost_hashjoin().
| int effective_cache_size = DEFAULT_EFFECTIVE_CACHE_SIZE |
Definition at line 139 of file costsize.c.
Referenced by gistBuildCallback(), gistInitBuffering(), and index_pages_fetched().
Definition at line 165 of file costsize.c.
Referenced by create_append_plan().
Definition at line 148 of file costsize.c.
Referenced by standard_planner().
Definition at line 158 of file costsize.c.
Referenced by standard_planner().
Definition at line 152 of file costsize.c.
Referenced by compute_semijoin_info(), cost_agg(), create_final_distinct_paths(), create_partial_distinct_paths(), and create_setop_path().
Definition at line 157 of file costsize.c.
Referenced by standard_planner().
Definition at line 151 of file costsize.c.
Referenced by build_setop_child_paths(), cost_append(), cost_incremental_sort(), create_append_plan(), create_final_unique_paths(), create_merge_append_path(), create_merge_append_plan(), create_mergejoin_plan(), create_one_window_path(), create_ordered_paths(), create_partial_unique_paths(), gather_grouping_paths(), generate_grouped_paths(), generate_useful_gather_paths(), get_useful_group_keys_orderings(), get_useful_pathkeys_for_distinct(), initial_cost_mergejoin(), and make_ordered_path().
Definition at line 147 of file costsize.c.
Referenced by standard_planner().
Definition at line 146 of file costsize.c.
Referenced by plan_cluster_use_sort(), and standard_planner().
Definition at line 154 of file costsize.c.
Referenced by build_subplan(), materialize_finished_plan(), and standard_planner().
Definition at line 155 of file costsize.c.
Referenced by standard_planner().
Definition at line 156 of file costsize.c.
Referenced by standard_planner().
Definition at line 153 of file costsize.c.
Referenced by standard_planner().
Definition at line 161 of file costsize.c.
Referenced by add_paths_to_append_rel(), and generate_union_paths().
Definition at line 162 of file costsize.c.
Referenced by hash_inner_and_outer().
Definition at line 163 of file costsize.c.
Referenced by create_append_plan(), create_merge_append_plan(), and prune_append_rel_partitions().
Definition at line 160 of file costsize.c.
Referenced by create_grouping_paths().
Definition at line 159 of file costsize.c.
Referenced by set_append_rel_size(), and standard_planner().
Definition at line 164 of file costsize.c.
Referenced by adjust_group_pathkeys_for_groupagg().
Definition at line 145 of file costsize.c.
Referenced by standard_planner().
Definition at line 150 of file costsize.c.
Referenced by cost_sort(), and make_sort().
Definition at line 149 of file costsize.c.
Referenced by standard_planner().
| int max_parallel_workers_per_gather = 2 |
Definition at line 143 of file costsize.c.
Referenced by add_paths_to_append_rel(), cost_index(), create_partial_bitmap_paths(), create_plain_partial_paths(), create_tidscan_paths(), generate_union_paths(), and standard_planner().
| double parallel_setup_cost = DEFAULT_PARALLEL_SETUP_COST |
Definition at line 136 of file costsize.c.
Referenced by cost_gather(), cost_gather_merge(), and standard_planner().
| double parallel_tuple_cost = DEFAULT_PARALLEL_TUPLE_COST |
Definition at line 135 of file costsize.c.
Referenced by cost_gather(), cost_gather_merge(), and standard_planner().
| double random_page_cost = DEFAULT_RANDOM_PAGE_COST |
Definition at line 131 of file costsize.c.
Referenced by cost_agg(), cost_tuplesort(), get_tablespace_page_costs(), and tablespace_reloptions().
| double recursive_worktable_factor = DEFAULT_RECURSIVE_WORKTABLE_FACTOR |
Definition at line 137 of file costsize.c.
Referenced by set_cte_size_estimates().
| double seq_page_cost = DEFAULT_SEQ_PAGE_COST |
Definition at line 130 of file costsize.c.
Referenced by cost_agg(), cost_material(), cost_rescan(), cost_tuplesort(), estimate_costs(), estimate_path_cost_size(), get_tablespace_page_costs(), initial_cost_hashjoin(), and tablespace_reloptions().