22#define NEXTVAL(x) ( (lquery*)( (char*)(x) + INTALIGN( VARSIZE(x) ) ) )
36 while (ptr < end && !
t_iseq(ptr,
'_'))
156 if (
curq->numvar == 0)
159 for (
int i = 0;
i <
curq->numvar;
i++)
171 else if ((curvar->
len ==
curt->len ||
299 errmsg(
"array must be one-dimensional")));
303 errmsg(
"array must not contain nulls")));
#define PG_GETARG_ARRAYTYPE_P(n)
bool array_contains_nulls(const ArrayType *array)
int ArrayGetNItems(int ndim, const int *dims)
#define Assert(condition)
int errcode(int sqlerrcode)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
#define PG_FREE_IF_COPY(ptr, n)
#define DirectFunctionCall2(func, arg1, arg2)
#define PG_GETARG_DATUM(n)
#define PG_FUNCTION_INFO_V1(funcname)
#define PG_RETURN_DATUM(x)
#define PG_RETURN_BOOL(x)
bool compare_subnode(ltree_level *t, char *qn, int len, ltree_prefix_eq_func prefix_eq, bool anyend)
bool ltree_prefix_eq(const char *a, size_t a_sz, const char *b, size_t b_sz)
Datum lt_q_rregex(PG_FUNCTION_ARGS)
bool ltree_prefix_eq_ci(const char *a, size_t a_sz, const char *b, size_t b_sz)
static char * getlexeme(char *start, char *end, int *len)
static bool checkCond(lquery_level *curq, int qlen, ltree_level *curt, int tlen)
Datum lt_q_regex(PG_FUNCTION_ARGS)
Datum ltq_regex(PG_FUNCTION_ARGS)
static bool checkLevel(lquery_level *curq, ltree_level *curt)
Datum ltq_rregex(PG_FUNCTION_ARGS)
#define PG_GETARG_LQUERY_P(n)
bool(* ltree_prefix_eq_func)(const char *, size_t, const char *, size_t)
#define PG_GETARG_LTREE_P(n)
int pg_mblen(const char *mbstr)
void * repalloc(void *pointer, Size size)
void pfree(void *pointer)
#define CHECK_FOR_INTERRUPTS()
size_t pg_strfold(char *dst, size_t dstsize, const char *src, ssize_t srclen, pg_locale_t locale)
pg_locale_t pg_database_locale(void)
static bool DatumGetBool(Datum X)
static Datum PointerGetDatum(const void *X)
void check_stack_depth(void)
char name[FLEXIBLE_ARRAY_MEMBER]
char name[FLEXIBLE_ARRAY_MEMBER]