19#include "utils/fmgrprotos.h"
23#define GinOverlapStrategy 1
24#define GinContainsStrategy 2
25#define GinContainedStrategy 3
26#define GinEqualStrategy 4
47 &elmlen, &elmbyval, &elmalign);
51 elmlen, elmbyval, elmalign,
52 &elems, &nulls, &nelems);
71 elog(
ERROR,
"ginarrayextract requires three arguments");
98 &elmlen, &elmbyval, &elmalign);
102 elmlen, elmbyval, elmalign,
103 &elems, &nulls, &nelems);
130 elog(
ERROR,
"ginqueryarrayextract: unknown strategy number: %d",
165 for (
i = 0;
i < nkeys;
i++)
167 if (check[
i] && !nullFlags[
i])
179 for (
i = 0;
i < nkeys;
i++)
181 if (!check[
i] || nullFlags[
i])
204 for (
i = 0;
i < nkeys;
i++)
214 elog(
ERROR,
"ginarrayconsistent: unknown strategy number: %d",
245 for (
i = 0;
i < nkeys;
i++)
264 for (
i = 0;
i < nkeys;
i++)
289 for (
i = 0;
i < nkeys;
i++)
299 elog(
ERROR,
"ginarrayconsistent: unknown strategy number: %d",
#define PG_GETARG_ARRAYTYPE_P_COPY(n)
void deconstruct_array(ArrayType *array, Oid elmtype, int elmlen, bool elmbyval, char elmalign, Datum **elemsp, bool **nullsp, int *nelemsp)
static void PGresult * res
#define PG_GETARG_POINTER(n)
#define PG_GETARG_UINT16(n)
#define PG_GETARG_INT32(n)
#define PG_RETURN_POINTER(x)
#define PG_RETURN_BOOL(x)
#define PG_RETURN_GIN_TERNARY_VALUE(x)
#define GIN_SEARCH_MODE_ALL
#define GIN_SEARCH_MODE_DEFAULT
#define GIN_SEARCH_MODE_INCLUDE_EMPTY
Datum ginarraytriconsistent(PG_FUNCTION_ARGS)
Datum ginarrayextract_2args(PG_FUNCTION_ARGS)
Datum ginarrayextract(PG_FUNCTION_ARGS)
Datum ginarrayconsistent(PG_FUNCTION_ARGS)
#define GinOverlapStrategy
#define GinContainedStrategy
#define GinContainsStrategy
Datum ginqueryarrayextract(PG_FUNCTION_ARGS)
void get_typlenbyvalalign(Oid typid, int16 *typlen, bool *typbyval, char *typalign)