PostgreSQL Source Code: src/include/access/spgist.h File Reference (original) (raw)

39{

40 bool result = true;

44 Oid opcintype;

46 char *opclassname;

47 char *opfamilyname;

52 int i;

59

60

63 elog(ERROR, "cache lookup failed for operator class %u", opclassoid);

65

70

71

73

74

78

79

81 {

84 bool ok;

85

86

87

88

89

91 {

94 errmsg("operator family \"%s\" of access method %s contains support function %s with different left and right input types",

95 opfamilyname, "spgist",

97 result = false;

98 }

99

100

102 {

108

112

115

116

119 else

121

122

125 {

128 errmsg("SP-GiST leaf data type %s does not match declared type %s",

131 result = false;

133 }

134

135

136

137

138

139

141 {

143 {

145

148 {

151 break;

152 }

153 }

154 }

155 break;

161 break;

165 break;

169 ok = false;

170 else

173 1, 1, procform->amproclefttype);

174 break;

177 break;

178 default:

181 errmsg("operator family \"%s\" of access method %s contains function %s with invalid support number %d",

182 opfamilyname, "spgist",

185 result = false;

186 continue;

187 }

188

189 if (ok)

190 {

193 errmsg("operator family \"%s\" of access method %s contains function %s with wrong signature for support number %d",

194 opfamilyname, "spgist",

197 result = false;

198 }

199 }

200

201

202 for (i = 0; i < oprlist->n_members; i++)

203 {

207

208

209 if (oprform->amopstrategy < 1 || oprform->amopstrategy > 63)

210 {

213 errmsg("operator family \"%s\" of access method %s contains operator %s with invalid strategy number %d",

214 opfamilyname, "spgist",

216 oprform->amopstrategy)));

217 result = false;

218 }

219

220

222 {

223

226 {

229 errmsg("operator family \"%s\" of access method %s contains invalid ORDER BY specification for operator %s",

230 opfamilyname, "spgist",

232 result = false;

233 }

234 }

235 else

237

238

242 {

245 errmsg("operator family \"%s\" of access method %s contains operator %s with wrong signature",

246 opfamilyname, "spgist",

248 result = false;

249 }

250 }

251

252

255 {

257

258

259 if (thisgroup->lefttype == opcintype &&

260 thisgroup->righttype == opcintype)

262

263

264

265

266

267

269 {

272 errmsg("operator family \"%s\" of access method %s is missing operator(s) for types %s and %s",

273 opfamilyname, "spgist",

276 result = false;

277 }

278

279

280

281

282

284 continue;

285

287 {

289 continue;

291 continue;

294 errmsg("operator family \"%s\" of access method %s is missing support function %d for type %s",

295 opfamilyname, "spgist", i,

297 result = false;

298 }

299 }

300

301

302

304 {

307 errmsg("operator class \"%s\" of access method %s is missing operator(s)",

308 opclassname, "spgist")));

309 result = false;

310 }

311

315

316 return result;

317}

bool check_amproc_signature(Oid funcid, Oid restype, bool exact, int minargs, int maxargs,...)

bool check_amop_signature(Oid opno, Oid restype, Oid lefttype, Oid righttype)

List * identify_opfamily_groups(CatCList *oprlist, CatCList *proclist)

bool opfamily_can_sort_type(Oid opfamilyoid, Oid datatypeoid)

bool check_amoptsproc_signature(Oid funcid)

#define OidIsValid(objectId)

void ReleaseCatCacheList(CatCList *list)

#define OidFunctionCall2(functionId, arg1, arg2)

char * format_type_be(Oid type_oid)

#define HeapTupleIsValid(tuple)

static void * GETSTRUCT(const HeapTupleData *tuple)

Oid get_op_rettype(Oid opno)

char * get_opfamily_name(Oid opfid, bool missing_ok)

END_CATALOG_STRUCT typedef FormData_pg_amop * Form_pg_amop

END_CATALOG_STRUCT typedef FormData_pg_amproc * Form_pg_amproc

END_CATALOG_STRUCT typedef FormData_pg_opclass * Form_pg_opclass

static Datum PointerGetDatum(const void *X)

static Datum ObjectIdGetDatum(Oid X)

char * format_procedure(Oid procedure_oid)

char * format_operator(Oid operator_oid)

void ReleaseSysCache(HeapTuple tuple)

HeapTuple SearchSysCache1(SysCacheIdentifier cacheId, Datum key1)

#define SearchSysCacheList1(cacheId, key1)