PostgreSQL Source Code: src/backend/executor/nodeSubqueryscan.c Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

29

32

34

35

36

37

38

39

40

41

42

43

44

47{

49

50

51

52

54

55

56

57

58

59

60 return slot;

61}

62

63

64

65

66static bool

68{

69

70 return true;

71}

72

73

74

75

76

77

78

79

80

81

84{

86

90}

91

92

93

94

95

98{

100

101

103

104

107

108

109

110

113 subquerystate->ss.ps.state = estate;

115

116

117

118

119

120

122

123

124

125

127

128

129

130

134

135

136

137

138

145

146

147

148

151

152

153

154

157

158 return subquerystate;

159}

160

161

162

163

164

165

166

167void

169{

170

171

172

174}

175

176

177

178

179

180

181

182void

184{

186

187

188

189

190

191

194

195

196

197

198

201}

void ExecReScan(PlanState *node)

ExprState * ExecInitQual(List *qual, PlanState *parent)

void ExecEndNode(PlanState *node)

PlanState * ExecInitNode(Plan *node, EState *estate, int eflags)

TupleTableSlot * ExecScan(ScanState *node, ExecScanAccessMtd accessMtd, ExecScanRecheckMtd recheckMtd)

void ExecAssignScanProjectionInfo(ScanState *node)

void ExecScanReScan(ScanState *node)

void ExecInitScanTupleSlot(EState *estate, ScanState *scanstate, TupleDesc tupledesc, const TupleTableSlotOps *tts_ops)

void ExecInitResultTypeTL(PlanState *planstate)

TupleDesc ExecGetResultType(PlanState *planstate)

void ExecAssignExprContext(EState *estate, PlanState *planstate)

void UpdateChangedParamSet(PlanState *node, Bitmapset *newchg)

const TupleTableSlotOps * ExecGetResultSlotOps(PlanState *planstate, bool *isfixed)

bool(* ExecScanRecheckMtd)(ScanState *node, TupleTableSlot *slot)

static TupleTableSlot * ExecProcNode(PlanState *node)

TupleTableSlot *(* ExecScanAccessMtd)(ScanState *node)

Assert(PointerIsAligned(start, uint64))

void ExecEndSubqueryScan(SubqueryScanState *node)

static TupleTableSlot * SubqueryNext(SubqueryScanState *node)

void ExecReScanSubqueryScan(SubqueryScanState *node)

SubqueryScanState * ExecInitSubqueryScan(SubqueryScan *node, EState *estate, int eflags)

static TupleTableSlot * ExecSubqueryScan(PlanState *pstate)

static bool SubqueryRecheck(SubqueryScanState *node, TupleTableSlot *slot)

#define castNode(_type_, nodeptr)

const TupleTableSlotOps * resultops

const TupleTableSlotOps * scanops

ExecProcNodeMtd ExecProcNode