PostgreSQL Source Code: src/backend/utils/misc/queryenvironment.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

24

28

29

30

31

33{

35};

36

37

40{

42}

43

46{

48

49 Assert(refname != NULL);

50

51 if (queryEnv == NULL)

52 return NULL;

53

54 enr = get_ENR(queryEnv, refname);

55

56 if (enr)

57 return &(enr->md);

58

59 return NULL;

60}

61

62

63

64

65

66

67

68void

70{

73

75}

76

77

78

79

80

81void

83{

85

87 if (match)

89}

90

91

92

93

94

97{

99

101

102 if (queryEnv == NULL)

103 return NULL;

104

106 {

108

110 return enr;

111 }

112

113 return NULL;

114}

115

116

117

118

119

120

121

122

123

126{

128

129

131

132 if (enrmd->tupdesc != NULL)

133 tupdesc = enrmd->tupdesc;

134 else

135 {

137

139 tupdesc = relation->rd_att;

141 }

142

143 return tupdesc;

144}

Assert(PointerIsAligned(start, uint64))

List * lappend(List *list, void *datum)

List * list_delete(List *list, void *datum)

void * palloc0(Size size)

TupleDesc ENRMetadataGetTupDesc(EphemeralNamedRelationMetadata enrmd)

EphemeralNamedRelation get_ENR(QueryEnvironment *queryEnv, const char *name)

EphemeralNamedRelationMetadata get_visible_ENR_metadata(QueryEnvironment *queryEnv, const char *refname)

void unregister_ENR(QueryEnvironment *queryEnv, const char *name)

QueryEnvironment * create_queryEnv(void)

void register_ENR(QueryEnvironment *queryEnv, EphemeralNamedRelation enr)

EphemeralNamedRelationData * EphemeralNamedRelation

EphemeralNamedRelationMetadataData md

void table_close(Relation relation, LOCKMODE lockmode)

Relation table_open(Oid relationId, LOCKMODE lockmode)