PostgreSQL Source Code: src/backend/executor/nodeUnique.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

28

29

30

31

32

33

35

39

40

41

42

43

44

47{

53

55

56

57

58

61

62

63

64

65

66

67 for (;;)

68 {

69

70

71

74 {

75

77 return NULL;

78 }

79

80

81

82

84 break;

85

86

87

88

89

90

94 break;

95 }

96

97

98

99

100

101

102

104}

105

106

107

108

109

110

111

112

115{

117

118

120

121

122

123

125 uniquestate->ps.plan = (Plan *) node;

126 uniquestate->ps.state = estate;

128

129

130

131

133

134

135

136

138

139

140

141

142

145

146

147

148

152 node->uniqColIdx,

153 node->uniqOperators,

154 node->uniqCollations,

155 &uniquestate->ps);

156

157 return uniquestate;

158}

159

160

161

162

163

164

165

166

167void

169{

171}

172

173

174void

176{

178

179

181

182

183

184

185

188}

void ExecReScan(PlanState *node)

ExprState * execTuplesMatchPrepare(TupleDesc desc, int numCols, const AttrNumber *keyColIdx, const Oid *eqOperators, const Oid *collations, PlanState *parent)

void ExecEndNode(PlanState *node)

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

void ExecInitResultTupleSlotTL(PlanState *planstate, const TupleTableSlotOps *tts_ops)

const TupleTableSlotOps TTSOpsMinimalTuple

TupleDesc ExecGetResultType(PlanState *planstate)

void ExecAssignExprContext(EState *estate, PlanState *planstate)

#define outerPlanState(node)

#define EXEC_FLAG_BACKWARD

static bool ExecQualAndReset(ExprState *state, ExprContext *econtext)

static TupleTableSlot * ExecProcNode(PlanState *node)

Assert(PointerIsAligned(start, uint64))

#define CHECK_FOR_INTERRUPTS()

void ExecEndUnique(UniqueState *node)

static TupleTableSlot * ExecUnique(PlanState *pstate)

void ExecReScanUnique(UniqueState *node)

UniqueState * ExecInitUnique(Unique *node, EState *estate, int eflags)

#define castNode(_type_, nodeptr)

TupleTableSlot * ecxt_innertuple

TupleTableSlot * ecxt_outertuple

ExprContext * ps_ExprContext

TupleTableSlot * ps_ResultTupleSlot

ProjectionInfo * ps_ProjInfo

ExecProcNodeMtd ExecProcNode

static TupleTableSlot * ExecClearTuple(TupleTableSlot *slot)

static TupleTableSlot * ExecCopySlot(TupleTableSlot *dstslot, TupleTableSlot *srcslot)