164 &key_datums, &key_nulls, &key_count);
168 for (i = 0, j = 0; i < key_count; i++)
185 elog(
ERROR,
"unrecognized strategy number: %d", strategy);
217 for (i = 0; i < nkeys; i++)
249 for (i = 0; i < nkeys; i++)
259 elog(
ERROR,
"unrecognized strategy number: %d", strategy);
286 for (i = 0; i < nkeys; i++)
300 for (i = 0; i < nkeys; i++)
311 elog(
ERROR,
"unrecognized strategy number: %d", strategy);
417 elog(
ERROR,
"invalid JsonbIteratorNext rc: %d", (
int) r);
435 elog(
ERROR,
"unrecognized strategy number: %d", strategy);
465 elog(
ERROR,
"unrecognized strategy number: %d", strategy);
476 for (i = 0; i < nkeys; i++)
502 elog(
ERROR,
"unrecognized strategy number: %d", strategy);
509 for (i = 0; i < nkeys; i++)
538 snprintf(hashbuf,
sizeof(hashbuf),
"%08x", hashval);
554 memcpy(
VARDATA(item) + 1, str, len);
571 switch (scalarVal->
type)
580 scalarVal->
val.boolean ?
"t" :
"f", 1);
601 scalarVal->
val.string.val,
602 scalarVal->
val.string.len);
605 elog(
ERROR,
"unrecognized jsonb scalar type: %d", scalarVal->
type);
#define PG_RETURN_POINTER(x)
#define DatumGetUInt32(X)
#define PG_GETARG_INT32(n)
struct PathHashStack * parent
char * numeric_normalize(Numeric num)
Datum gin_consistent_jsonb_path(PG_FUNCTION_ARGS)
#define PointerGetDatum(X)
Datum gin_extract_jsonb_path(PG_FUNCTION_ARGS)
#define PG_GETARG_DATUM(n)
#define PG_RETURN_INT32(x)
#define JB_ROOT_COUNT(jbp_)
int snprintf(char *str, size_t count, const char *fmt,...) pg_attribute_printf(3
#define PG_GETARG_POINTER(n)
#define JsonbExistsAnyStrategyNumber
Datum gin_compare_jsonb(PG_FUNCTION_ARGS)
#define JsonbExistsAllStrategyNumber
#define PG_GETARG_TEXT_PP(n)
#define PG_RETURN_GIN_TERNARY_VALUE(x)
#define PG_GETARG_ARRAYTYPE_P(n)
void JsonbHashScalarValue(const JsonbValue *scalarVal, uint32 *hash)
#define GIN_SEARCH_MODE_ALL
void pfree(void *pointer)
Datum gin_extract_jsonb_query_path(PG_FUNCTION_ARGS)
Datum gin_triconsistent_jsonb(PG_FUNCTION_ARGS)
#define UInt32GetDatum(X)
Datum gin_extract_jsonb_query(PG_FUNCTION_ARGS)
static Datum make_scalar_key(const JsonbValue *scalarVal, bool is_key)
#define PG_RETURN_BOOL(x)
enum JsonbValue::@67 type
struct PathHashStack PathHashStack
#define Assert(condition)
JsonbIterator * JsonbIteratorInit(JsonbContainer *container)
Datum hash_any(register const unsigned char *k, register int keylen)
#define JsonbExistsStrategyNumber
int varstr_cmp(char *arg1, int len1, char *arg2, int len2, Oid collid)
#define JsonbContainsStrategyNumber
Datum gin_triconsistent_jsonb_path(PG_FUNCTION_ARGS)
#define PG_FREE_IF_COPY(ptr, n)
void * repalloc(void *pointer, Size size)
#define PG_GETARG_UINT16(n)
#define DatumGetPointer(X)
void deconstruct_array(ArrayType *array, Oid elmtype, int elmlen, bool elmbyval, char elmalign, Datum **elemsp, bool **nullsp, int *nelemsp)
Datum gin_extract_jsonb(PG_FUNCTION_ARGS)
#define PG_GETARG_JSONB(x)
#define VARSIZE_ANY_EXHDR(PTR)
#define SET_VARSIZE(PTR, len)
Datum gin_consistent_jsonb(PG_FUNCTION_ARGS)
static Datum make_text_key(char flag, const char *str, int len)
#define DirectFunctionCall2(func, arg1, arg2)
JsonbIteratorToken JsonbIteratorNext(JsonbIterator **it, JsonbValue *val, bool skipNested)