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)