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

44 Oid objid;

45 Oid classid;

46 Oid serverid;

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