PostgreSQL Source Code: contrib/postgres_fdw/shippable.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
25
32
33
35
36
37
38
39
40
41typedef struct
42{
43
48
49typedef struct
50{
54
55
56
57
58
59
60
61
62
63
64static void
66{
69
70
71
72
73
74
75
78 {
80 &entry->key,
82 NULL) == NULL)
83 elog(ERROR, "hash table corrupted");
84 }
85}
86
87
88
89
90static void
92{
94
95
100
101
105}
106
107
108
109
110
111
112
113
114
115static bool
117{
118 Oid extensionOid;
119
120
121
122
123
125
126
129 return true;
130
131 return false;
132}
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151bool
153{
155}
156
157
158
159
160
161bool
163{
166
167
169 return true;
170
171
173 return false;
174
175
178
179
180 key.objid = objectId;
181 key.classid = classId;
183
184
187
188 if (!entry)
189 {
190
191 bool shippable = lookup_shippable(objectId, classId, fpinfo);
192
193
194
195
196
197
200
202 }
203
205}
#define OidIsValid(objectId)
void * hash_search(HTAB *hashp, const void *keyPtr, HASHACTION action, bool *foundPtr)
void * hash_seq_search(HASH_SEQ_STATUS *status)
HTAB * hash_create(const char *tabname, long nelem, const HASHCTL *info, int flags)
void hash_seq_init(HASH_SEQ_STATUS *status, HTAB *hashp)
void CacheRegisterSyscacheCallback(int cacheid, SyscacheCallbackFunction func, Datum arg)
bool list_member_oid(const List *list, Oid datum)
Oid getExtensionOfObject(Oid classId, Oid objectId)
bool is_shippable(Oid objectId, Oid classId, PgFdwRelationInfo *fpinfo)
static bool lookup_shippable(Oid objectId, Oid classId, PgFdwRelationInfo *fpinfo)
bool is_builtin(Oid objectId)
static void InitializeShippableCache(void)
static HTAB * ShippableCacheHash
static void InvalidateShippableCacheCallback(Datum arg, int cacheid, uint32 hashvalue)
List * shippable_extensions
#define FirstGenbkiObjectId