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) |
#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 823 of file pathnodes.h.
Definition at line 1409 of file pathnodes.h.
#define get_pathtarget_sortgroupref | ( | target, | |
colno | |||
) | ((target)->sortgrouprefs ? (target)->sortgrouprefs[colno] : (Index) 0) |
Definition at line 1555 of file pathnodes.h.
#define GROUPING_CAN_PARTIAL_AGG 0x0004 |
Definition at line 3262 of file pathnodes.h.
#define GROUPING_CAN_USE_HASH 0x0002 |
Definition at line 3261 of file pathnodes.h.
#define GROUPING_CAN_USE_SORT 0x0001 |
Definition at line 3260 of file pathnodes.h.
#define HAVE_INDEXOPTINFO_TYPEDEF 1 |
Definition at line 1107 of file pathnodes.h.
#define HAVE_PLANNERINFO_TYPEDEF 1 |
Definition at line 192 of file pathnodes.h.
#define HAVE_SPECIALJOININFO_TYPEDEF 1 |
Definition at line 2893 of file pathnodes.h.
#define IS_DUMMY_APPEND | ( | p | ) | (IsA((p), AppendPath) && ((AppendPath *) (p))->subpaths == NIL) |
Definition at line 1945 of file pathnodes.h.
#define IS_DUMMY_REL | ( | r | ) | is_dummy_rel(r) |
Definition at line 1953 of file pathnodes.h.
#define IS_JOIN_REL | ( | rel | ) |
Definition at line 844 of file pathnodes.h.
#define IS_OTHER_REL | ( | rel | ) |
Definition at line 854 of file pathnodes.h.
#define IS_PARTITIONED_REL | ( | rel | ) |
Definition at line 1062 of file pathnodes.h.
#define IS_SIMPLE_REL | ( | rel | ) |
Definition at line 839 of file pathnodes.h.
#define IS_UPPER_REL | ( | rel | ) |
Definition at line 849 of file pathnodes.h.
#define PATH_REQ_OUTER | ( | path | ) | ((path)->param_info ? (path)->param_info->ppi_req_outer : (Relids) NULL) |
Definition at line 1676 of file pathnodes.h.
#define planner_rt_fetch | ( | rti, | |
root | |||
) |
Definition at line 570 of file pathnodes.h.
#define planner_subplan_get_plan | ( | root, | |
subplan | |||
) | ((Plan *) list_nth((root)->glob->subplans, (subplan)->plan_id - 1)) |
Definition at line 169 of file pathnodes.h.
#define REL_HAS_ALL_PART_PROPS | ( | rel | ) |
Definition at line 1070 of file pathnodes.h.
#define RINFO_IS_PUSHED_DOWN | ( | rinfo, | |
joinrelids | |||
) |
Definition at line 2728 of file pathnodes.h.
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 GroupByOrdering GroupByOrdering |
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 604 of file pathnodes.h.
typedef struct JoinCostWorkspace JoinCostWorkspace |
typedef struct JoinDomain JoinDomain |
typedef struct JoinPathExtraData JoinPathExtraData |
typedef struct LockRowsPath LockRowsPath |
typedef struct MaterialPath MaterialPath |
typedef struct MemoizePath MemoizePath |
typedef struct MergeAppendPath MergeAppendPath |
typedef struct MergeScanSelCache MergeScanSelCache |
typedef struct MinMaxAggInfo MinMaxAggInfo |
typedef struct MinMaxAggPath MinMaxAggPath |
typedef struct ModifyTablePath ModifyTablePath |
typedef struct OuterJoinClauseInfo OuterJoinClauseInfo |
typedef struct ParamPathInfo ParamPathInfo |
typedef struct PartitionSchemeData* PartitionScheme |
Definition at line 604 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 30 of file pathnodes.h.
typedef struct PlannerParamItem PlannerParamItem |
typedef struct ProjectionPath ProjectionPath |
typedef struct ProjectSetPath ProjectSetPath |
typedef struct RecursiveUnionPath RecursiveUnionPath |
Definition at line 30 of file pathnodes.h.
typedef struct RelOptInfo RelOptInfo |
typedef enum RelOptKind RelOptKind |
typedef struct RestrictInfo RestrictInfo |
typedef struct RollupData RollupData |
typedef struct RowIdentityVarInfo RowIdentityVarInfo |
typedef struct SemiAntiJoinFactors SemiAntiJoinFactors |
typedef struct SpecialJoinInfo SpecialJoinInfo |
Definition at line 1954 of file pathnodes.h.
typedef struct StatisticExtInfo StatisticExtInfo |
typedef struct SubqueryScanPath SubqueryScanPath |
typedef struct TidRangePath TidRangePath |
typedef struct UniquePath UniquePath |
typedef enum UniquePathMethod UniquePathMethod |
typedef enum UpperRelationKind UpperRelationKind |
typedef struct UpperUniquePath UpperUniquePath |
typedef enum VolatileFunctionStatus VolatileFunctionStatus |
typedef struct WindowAggPath WindowAggPath |
enum CostSelector |
Enumerator | |
---|---|
PARTITIONWISE_AGGREGATE_NONE | |
PARTITIONWISE_AGGREGATE_FULL | |
PARTITIONWISE_AGGREGATE_PARTIAL |
Definition at line 3275 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 |
Definition at line 825 of file pathnodes.h.
enum UniquePathMethod |
Enumerator | |
---|---|
UNIQUE_PATH_NOOP | |
UNIQUE_PATH_HASH | |
UNIQUE_PATH_SORT |
Definition at line 2025 of file pathnodes.h.
enum UpperRelationKind |
Enumerator | |
---|---|
UPPERREL_SETOP | |
UPPERREL_PARTIAL_GROUP_AGG | |
UPPERREL_GROUP_AGG | |
UPPERREL_WINDOW | |
UPPERREL_PARTIAL_DISTINCT | |
UPPERREL_DISTINCT | |
UPPERREL_ORDERED | |
UPPERREL_FINAL |
Definition at line 69 of file pathnodes.h.
Enumerator | |
---|---|
VOLATILITY_UNKNOWN | |
VOLATILITY_VOLATILE | |
VOLATILITY_NOVOLATILE |
Definition at line 1502 of file pathnodes.h.
bool is_dummy_rel | ( | RelOptInfo * | rel | ) |
Definition at line 1335 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().