PostgreSQL Source Code
git master
|
#include "access/sdir.h"
#include "lib/stringinfo.h"
#include "nodes/params.h"
#include "nodes/parsenodes.h"
#include "storage/block.h"
Go to the source code of this file.
Macros | |
#define | planner_subplan_get_plan(root, subplan) ((Plan *) list_nth((root)->glob->subplans, (subplan)->plan_id - 1)) |
#define | HAVE_PLANNERINFO_TYPEDEF 1 |
#define | planner_rt_fetch(rti, root) |
#define | AMFLAG_HAS_TID_RANGE (1 << 0) |
#define | IS_SIMPLE_REL(rel) |
#define | IS_JOIN_REL(rel) |
#define | IS_UPPER_REL(rel) |
#define | IS_OTHER_REL(rel) |
#define | IS_PARTITIONED_REL(rel) |
#define | REL_HAS_ALL_PART_PROPS(rel) |
#define | HAVE_INDEXOPTINFO_TYPEDEF 1 |
#define | EC_MUST_BE_REDUNDANT(eclass) ((eclass)->ec_has_const && !(eclass)->ec_below_outer_join) |
#define | get_pathtarget_sortgroupref(target, colno) ((target)->sortgrouprefs ? (target)->sortgrouprefs[colno] : (Index) 0) |
#define | PATH_REQ_OUTER(path) ((path)->param_info ? (path)->param_info->ppi_req_outer : (Relids) NULL) |
#define | IS_DUMMY_APPEND(p) (IsA((p), AppendPath) && ((AppendPath *) (p))->subpaths == NIL) |
#define | IS_DUMMY_REL(r) is_dummy_rel(r) |
#define | RINFO_IS_PUSHED_DOWN(rinfo, joinrelids) |
#define | HAVE_SPECIALJOININFO_TYPEDEF 1 |
#define | GROUPING_CAN_USE_SORT 0x0001 |
#define | GROUPING_CAN_USE_HASH 0x0002 |
#define | GROUPING_CAN_PARTIAL_AGG 0x0004 |
Functions | |
bool | is_dummy_rel (RelOptInfo *rel) |
#define AMFLAG_HAS_TID_RANGE (1 << 0) |
Definition at line 626 of file pathnodes.h.
Referenced by get_relation_info(), and TidRangeQualFromRestrictInfoList().
Definition at line 993 of file pathnodes.h.
Referenced by pathkey_is_redundant(), and select_mergejoin_clauses().
#define get_pathtarget_sortgroupref | ( | target, | |
colno | |||
) | ((target)->sortgrouprefs ? (target)->sortgrouprefs[colno] : (Index) 0) |
Definition at line 1091 of file pathnodes.h.
Referenced by add_sp_item_to_pathtarget(), find_em_expr_for_input_target(), foreign_grouping_ok(), make_group_input_target(), make_partial_grouping_target(), make_sort_input_target(), make_window_input_target(), and split_pathtarget_at_srfs().
#define GROUPING_CAN_PARTIAL_AGG 0x0004 |
Definition at line 2470 of file pathnodes.h.
Referenced by create_grouping_paths(), and create_ordinary_grouping_paths().
#define GROUPING_CAN_USE_HASH 0x0002 |
Definition at line 2469 of file pathnodes.h.
Referenced by add_paths_to_grouping_rel(), create_grouping_paths(), and create_partial_grouping_paths().
#define GROUPING_CAN_USE_SORT 0x0001 |
Definition at line 2468 of file pathnodes.h.
Referenced by add_paths_to_grouping_rel(), create_grouping_paths(), and create_partial_grouping_paths().
#define HAVE_INDEXOPTINFO_TYPEDEF 1 |
Definition at line 817 of file pathnodes.h.
#define HAVE_PLANNERINFO_TYPEDEF 1 |
Definition at line 166 of file pathnodes.h.
#define HAVE_SPECIALJOININFO_TYPEDEF 1 |
Definition at line 2190 of file pathnodes.h.
#define IS_DUMMY_APPEND | ( | p | ) | (IsA((p), AppendPath) && ((AppendPath *) (p))->subpaths == NIL) |
Definition at line 1430 of file pathnodes.h.
Referenced by is_dummy_rel(), and is_projection_capable_path().
#define IS_DUMMY_REL | ( | r | ) | is_dummy_rel(r) |
Definition at line 1438 of file pathnodes.h.
Referenced by add_rtes_to_flat_rtable(), apply_scanjoin_target_to_paths(), approximate_joinrel_size(), create_partitionwise_grouping_paths(), generate_partitionwise_join_paths(), get_loop_count(), inheritance_planner(), is_dummy_partition(), make_one_rel(), set_append_rel_pathlist(), set_append_rel_size(), set_rel_pathlist(), set_rel_size(), set_subquery_pathlist(), and try_partitionwise_join().
#define IS_JOIN_REL | ( | rel | ) |
Definition at line 648 of file pathnodes.h.
Referenced by add_child_join_rel_equivalences(), deparseFromExpr(), deparseFromExprForRel(), deparseLockingClause(), deparseRangeTblRef(), deparseSelectSql(), deparseSelectStmtForRel(), deparseSubqueryTargetList(), estimate_path_cost_size(), generate_partitionwise_join_paths(), GetExistingLocalJoinPath(), is_subquery_var(), and postgresGetForeignPlan().
#define IS_OTHER_REL | ( | rel | ) |
Definition at line 658 of file pathnodes.h.
Referenced by apply_scanjoin_target_to_paths(), build_child_join_rel(), build_join_rel(), create_incrementalsort_plan(), create_sort_plan(), eclass_useful_for_merging(), foreign_join_ok(), generate_join_implied_equalities(), generate_join_implied_equalities_broken(), generate_join_implied_equalities_for_ecs(), get_useful_ecs_for_relation(), and make_grouping_rel().
#define IS_PARTITIONED_REL | ( | rel | ) |
Definition at line 772 of file pathnodes.h.
Referenced by apply_scanjoin_target_to_paths(), build_joinrel_partition_info(), create_append_path(), create_ordinary_grouping_paths(), generate_partitionwise_join_paths(), make_partition_pruneinfo(), and try_partitionwise_join().
#define IS_SIMPLE_REL | ( | rel | ) |
Definition at line 643 of file pathnodes.h.
Referenced by add_child_rel_equivalences(), add_paths_with_pathkeys_for_rel(), build_partition_pathkeys(), check_index_predicates(), create_foreignscan_path(), deparseFromExpr(), deparseRangeTblRef(), deparseSelectStmtForRel(), deparseSubqueryTargetList(), estimate_num_groups(), generate_implied_equalities_for_column(), generate_orderedappend_paths(), get_matching_part_pairs(), is_subquery_var(), make_one_rel(), match_eclasses_to_foreign_key_col(), postgresGetForeignPlan(), relation_excluded_by_constraints(), set_append_rel_size(), set_baserel_partition_key_exprs(), set_rel_consider_parallel(), and try_partitionwise_join().
#define IS_UPPER_REL | ( | rel | ) |
Definition at line 653 of file pathnodes.h.
Referenced by build_tlist_to_deparse(), deparseFromExpr(), deparseSelectSql(), deparseSelectStmtForRel(), estimate_path_cost_size(), foreign_expr_walker(), is_foreign_expr(), is_foreign_param(), and postgresGetForeignPlan().
#define PATH_REQ_OUTER | ( | path | ) | ((path)->param_info ? (path)->param_info->ppi_req_outer : (Relids) NULL) |
Definition at line 1173 of file pathnodes.h.
Referenced by add_path(), add_path_precheck(), add_paths_to_append_rel(), bitmap_scan_cost_est(), calc_non_nestloop_required_outer(), create_append_path(), create_bitmap_and_path(), create_bitmap_or_path(), create_index_paths(), create_merge_append_path(), create_nestloop_path(), get_cheapest_fractional_path_for_pathkeys(), get_cheapest_parallel_safe_total_inner(), get_cheapest_parameterized_child_path(), get_cheapest_path_for_pathkeys(), get_joinrel_parampathinfo(), reparameterize_path(), reparameterize_path_by_child(), set_cheapest(), and try_nestloop_path().
#define planner_rt_fetch | ( | rti, | |
root | |||
) |
Definition at line 377 of file pathnodes.h.
Referenced by brincostestimate(), btcostestimate(), build_physical_tlist(), cost_functionscan(), cost_samplescan(), cost_tablefuncscan(), create_ctescan_plan(), create_foreignscan_plan(), create_functionscan_plan(), create_namedtuplestorescan_plan(), create_resultscan_plan(), create_samplescan_plan(), create_tablefuncscan_plan(), create_unique_path(), create_valuesscan_plan(), create_worktablescan_plan(), deparseDirectDeleteSql(), deparseDirectUpdateSql(), deparseFromExprForRel(), deparseSelectSql(), deparseVar(), examine_simple_variable(), examine_variable(), expand_inherited_rtentry(), has_row_triggers(), has_stored_generated_columns(), make_modifytable(), make_partitionedrel_pruneinfo(), postgresGetForeignRelSize(), postgresPlanForeignModify(), preprocess_minmax_aggregates(), set_cte_size_estimates(), set_function_size_estimates(), set_namedtuplestore_size_estimates(), set_rel_width(), set_result_size_estimates(), set_subquery_size_estimates(), set_tablefunc_size_estimates(), and set_values_size_estimates().
#define planner_subplan_get_plan | ( | root, | |
subplan | |||
) | ((Plan *) list_nth((root)->glob->subplans, (subplan)->plan_id - 1)) |
Definition at line 147 of file pathnodes.h.
Referenced by finalize_plan(), and finalize_primnode().
#define REL_HAS_ALL_PART_PROPS | ( | rel | ) |
Definition at line 780 of file pathnodes.h.
Referenced by try_partitionwise_join().
#define RINFO_IS_PUSHED_DOWN | ( | rinfo, | |
joinrelids | |||
) |
Definition at line 2083 of file pathnodes.h.
Referenced by calc_joinrel_size_estimate(), compute_semi_anti_join_factors(), extract_actual_join_clauses(), foreign_join_ok(), hash_inner_and_outer(), have_partkey_equi_join(), is_innerrel_unique_for(), join_is_removable(), remove_rel_from_query(), restriction_is_constant_false(), and select_mergejoin_clauses().
typedef struct AggClauseCosts AggClauseCosts |
typedef struct AggTransInfo AggTransInfo |
typedef struct AppendPath AppendPath |
typedef struct AppendRelInfo AppendRelInfo |
typedef struct BitmapAndPath BitmapAndPath |
typedef struct BitmapHeapPath BitmapHeapPath |
typedef struct BitmapOrPath BitmapOrPath |
typedef enum CostSelector CostSelector |
typedef struct CustomPath CustomPath |
typedef struct EquivalenceClass EquivalenceClass |
typedef struct EquivalenceMember EquivalenceMember |
typedef struct ForeignKeyOptInfo ForeignKeyOptInfo |
typedef struct ForeignPath ForeignPath |
typedef struct GatherMergePath GatherMergePath |
typedef struct GatherPath GatherPath |
typedef struct GroupingSetData GroupingSetData |
typedef struct GroupingSetsPath GroupingSetsPath |
typedef struct GroupResultPath GroupResultPath |
typedef struct IncrementalSortPath IncrementalSortPath |
typedef struct IndexClause IndexClause |
typedef struct IndexOptInfo IndexOptInfo |
Definition at line 816 of file pathnodes.h.
typedef enum InheritanceKind InheritanceKind |
typedef struct JoinCostWorkspace JoinCostWorkspace |
typedef struct JoinPathExtraData JoinPathExtraData |
typedef struct LockRowsPath LockRowsPath |
typedef struct MaterialPath MaterialPath |
typedef struct MergeAppendPath MergeAppendPath |
typedef struct MergeScanSelCache MergeScanSelCache |
typedef struct MinMaxAggInfo MinMaxAggInfo |
typedef struct MinMaxAggPath MinMaxAggPath |
typedef struct ModifyTablePath ModifyTablePath |
Definition at line 1559 of file pathnodes.h.
typedef struct ParamPathInfo ParamPathInfo |
typedef struct PartitionSchemeData* PartitionScheme |
Definition at line 411 of file pathnodes.h.
typedef struct PartitionSchemeData PartitionSchemeData |
typedef struct PathTarget PathTarget |
typedef struct PlaceHolderInfo PlaceHolderInfo |
typedef struct PlaceHolderVar PlaceHolderVar |
typedef struct PlannerGlobal PlannerGlobal |
typedef struct PlannerInfo PlannerInfo |
Definition at line 165 of file pathnodes.h.
typedef struct PlannerParamItem PlannerParamItem |
typedef struct ProjectionPath ProjectionPath |
typedef struct ProjectSetPath ProjectSetPath |
typedef struct RecursiveUnionPath RecursiveUnionPath |
Definition at line 28 of file pathnodes.h.
typedef struct RelOptInfo RelOptInfo |
typedef enum RelOptKind RelOptKind |
typedef struct RestrictInfo RestrictInfo |
typedef struct RollupData RollupData |
typedef struct SemiAntiJoinFactors SemiAntiJoinFactors |
typedef struct SpecialJoinInfo SpecialJoinInfo |
Definition at line 2189 of file pathnodes.h.
typedef struct StatisticExtInfo StatisticExtInfo |
typedef struct SubqueryScanPath SubqueryScanPath |
typedef struct TidRangePath TidRangePath |
typedef struct UniquePath UniquePath |
typedef enum UpperRelationKind UpperRelationKind |
typedef struct UpperUniquePath UpperUniquePath |
typedef struct WindowAggPath WindowAggPath |
enum CostSelector |
Enumerator | |
---|---|
STARTUP_COST | |
TOTAL_COST |
Definition at line 34 of file pathnodes.h.
enum InheritanceKind |
Enumerator | |
---|---|
INHKIND_NONE | |
INHKIND_INHERITED | |
INHKIND_PARTITIONED |
Definition at line 85 of file pathnodes.h.
Enumerator | |
---|---|
PARTITIONWISE_AGGREGATE_NONE | |
PARTITIONWISE_AGGREGATE_FULL | |
PARTITIONWISE_AGGREGATE_PARTIAL |
Definition at line 2483 of file pathnodes.h.
enum RelOptKind |
Enumerator | |
---|---|
RELOPT_BASEREL | |
RELOPT_JOINREL | |
RELOPT_OTHER_MEMBER_REL | |
RELOPT_OTHER_JOINREL | |
RELOPT_UPPER_REL | |
RELOPT_OTHER_UPPER_REL | |
RELOPT_DEADREL |
Definition at line 628 of file pathnodes.h.
enum UniquePathMethod |
Enumerator | |
---|---|
UNIQUE_PATH_NOOP | |
UNIQUE_PATH_HASH | |
UNIQUE_PATH_SORT |
Definition at line 1489 of file pathnodes.h.
enum UpperRelationKind |
Enumerator | |
---|---|
UPPERREL_SETOP | |
UPPERREL_PARTIAL_GROUP_AGG | |
UPPERREL_GROUP_AGG | |
UPPERREL_WINDOW | |
UPPERREL_DISTINCT | |
UPPERREL_ORDERED | |
UPPERREL_FINAL |
Definition at line 67 of file pathnodes.h.
bool is_dummy_rel | ( | RelOptInfo * | rel | ) |
Definition at line 1212 of file joinrels.c.
References IS_DUMMY_APPEND, IsA, linitial, NIL, RelOptInfo::pathlist, and subpath().
Referenced by make_join_rel(), mark_dummy_rel(), and populate_joinrel_with_paths().