PostgreSQL Source Code: src/include/executor/execPartition.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef EXECPARTITION_H

14#define EXECPARTITION_H

15

20

21

24

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

64{

76

77

78

79

80

81

82

83

85{

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

122{

132

135 int n_total_subplans,

136 int part_prune_index,

138 Bitmapset **initially_valid_subplans);

140 bool initial_prune,

142

143#endif

#define FLEXIBLE_ARRAY_MEMBER

void ExecDoInitialPruning(EState *estate)

PartitionPruneState * ExecInitPartitionExecPruning(PlanState *planstate, int n_total_subplans, int part_prune_index, Bitmapset *relids, Bitmapset **initially_valid_subplans)

Bitmapset * ExecFindMatchingSubPlans(PartitionPruneState *prunestate, bool initial_prune, Bitmapset **validsubplan_rtis)

struct PartitionDispatchData * PartitionDispatch

PartitionTupleRouting * ExecSetupPartitionTupleRouting(EState *estate, Relation rel)

ResultRelInfo * ExecFindPartition(ModifyTableState *mtstate, ResultRelInfo *rootResultRelInfo, PartitionTupleRouting *proute, TupleTableSlot *slot, EState *estate)

struct PartitionPruneState PartitionPruneState

struct PartitionedRelPruningData PartitionedRelPruningData

struct PartitionPruningData PartitionPruningData

void ExecCleanupTupleRouting(ModifyTableState *mtstate, PartitionTupleRouting *proute)

PartitionPruningData * partprunedata[FLEXIBLE_ARRAY_MEMBER]

Bitmapset * other_subplans

MemoryContext prune_context

PartitionedRelPruningData partrelprunedata[FLEXIBLE_ARRAY_MEMBER]

List * exec_pruning_steps

PartitionPruneContext exec_context

PartitionPruneContext initial_context

Bitmapset * present_parts

List * initial_pruning_steps