57 &key_datums, &key_nulls, &elem_count);
59 for (i = 0; i < elem_count; i++)
67 strVal.
val.string.val =
VARDATA(key_datums[i]);
90 &key_datums, &key_nulls, &elem_count);
92 for (i = 0; i < elem_count; i++)
100 strVal.
val.string.val =
VARDATA(key_datums[i]);
287 elog(
ERROR,
"invalid JsonbIteratorNext rc: %d", (
int) r);
330 elog(
ERROR,
"invalid JsonbIteratorNext rc: %d", (
int) r);
Datum jsonb_lt(PG_FUNCTION_ARGS)
#define JB_ROOT_IS_OBJECT(jbp_)
bool JsonbDeepContains(JsonbIterator **val, JsonbIterator **mContained)
#define PG_RETURN_INT32(x)
#define JB_ROOT_COUNT(jbp_)
#define PG_RETURN_UINT64(x)
#define PG_GETARG_TEXT_PP(n)
#define PG_GETARG_ARRAYTYPE_P(n)
void JsonbHashScalarValue(const JsonbValue *scalarVal, uint32 *hash)
Datum jsonb_gt(PG_FUNCTION_ARGS)
Datum jsonb_hash_extended(PG_FUNCTION_ARGS)
Datum jsonb_hash(PG_FUNCTION_ARGS)
Datum jsonb_cmp(PG_FUNCTION_ARGS)
int compareJsonbContainers(JsonbContainer *a, JsonbContainer *b)
Datum jsonb_contains(PG_FUNCTION_ARGS)
#define PG_RETURN_BOOL(x)
Datum jsonb_exists(PG_FUNCTION_ARGS)
JsonbIterator * JsonbIteratorInit(JsonbContainer *container)
void JsonbHashScalarValueExtended(const JsonbValue *scalarVal, uint64 *hash, uint64 seed)
Datum jsonb_exists_any(PG_FUNCTION_ARGS)
#define PG_FREE_IF_COPY(ptr, n)
void deconstruct_array(ArrayType *array, Oid elmtype, int elmlen, bool elmbyval, char elmalign, Datum **elemsp, bool **nullsp, int *nelemsp)
#define VARSIZE_ANY_EXHDR(PTR)
Datum jsonb_eq(PG_FUNCTION_ARGS)
JsonbValue * findJsonbValueFromContainer(JsonbContainer *container, uint32 flags, JsonbValue *key)
Datum jsonb_ge(PG_FUNCTION_ARGS)
Datum jsonb_ne(PG_FUNCTION_ARGS)
#define PG_GETARG_INT64(n)
Datum jsonb_contained(PG_FUNCTION_ARGS)
static unsigned hash(unsigned *uv, int n)
Datum jsonb_le(PG_FUNCTION_ARGS)
Datum jsonb_exists_all(PG_FUNCTION_ARGS)
JsonbIteratorToken JsonbIteratorNext(JsonbIterator **it, JsonbValue *val, bool skipNested)
#define PG_GETARG_JSONB_P(x)