|
PostgreSQL Source Code git master
|


Go to the source code of this file.
Data Structures | |
| struct | ltree_level |
| struct | ltree |
| struct | lquery_variant |
| struct | lquery_level |
| struct | lquery |
| struct | ITEM |
| struct | ltxtquery |
| struct | ltree_gist |
| struct | LtreeGistOptions |
Macros | |
| #define | LTREE_LABEL_MAX_CHARS 1000 |
| #define | LOWER_NODE |
| #define | LEVEL_HDRSIZE (offsetof(ltree_level,name)) |
| #define | LEVEL_NEXT(x) ( (ltree_level*)( ((char*)(x)) + MAXALIGN(((ltree_level*)(x))->len + LEVEL_HDRSIZE) ) ) |
| #define | LTREE_HDRSIZE MAXALIGN( offsetof(ltree, data) ) |
| #define | LTREE_FIRST(x) ( (ltree_level*)( ((char*)(x))+LTREE_HDRSIZE ) ) |
| #define | LTREE_MAX_LEVELS PG_UINT16_MAX /* ltree.numlevel is uint16 */ |
| #define | LVAR_HDRSIZE MAXALIGN(offsetof(lquery_variant, name)) |
| #define | LVAR_NEXT(x) ( (lquery_variant*)( ((char*)(x)) + MAXALIGN(((lquery_variant*)(x))->len) + LVAR_HDRSIZE ) ) |
| #define | LVAR_ANYEND 0x01 /* '*' flag: prefix match */ |
| #define | LVAR_INCASE 0x02 /* '@' flag: case-insensitive match */ |
| #define | LVAR_SUBLEXEME 0x04 /* '%' flag: word-wise match */ |
| #define | LQL_HDRSIZE MAXALIGN( offsetof(lquery_level,variants) ) |
| #define | LQL_NEXT(x) ( (lquery_level*)( ((char*)(x)) + MAXALIGN(((lquery_level*)(x))->totallen) ) ) |
| #define | LQL_FIRST(x) ( (lquery_variant*)( ((char*)(x))+LQL_HDRSIZE ) ) |
| #define | LQL_NOT 0x10 /* level has '!' (NOT) prefix */ |
| #define | LQL_COUNT 0x20 /* level is non-'*' and has repeat counts */ |
| #define | FLG_CANLOOKSIGN(x) ( ( (x) & ( LQL_NOT | LVAR_ANYEND | LVAR_SUBLEXEME ) ) == 0 ) |
| #define | LQL_CANLOOKSIGN(x) FLG_CANLOOKSIGN( ((lquery_level*)(x))->flag ) |
| #define | LQUERY_HDRSIZE MAXALIGN( offsetof(lquery, data) ) |
| #define | LQUERY_FIRST(x) ( (lquery_level*)( ((char*)(x))+LQUERY_HDRSIZE ) ) |
| #define | LQUERY_MAX_LEVELS PG_UINT16_MAX /* lquery.numlevel is uint16 */ |
| #define | LQUERY_HASNOT 0x01 |
| #define | ISLABEL(x) ( t_isalnum(x) || t_iseq(x, '_') || t_iseq(x, '-') ) |
| #define | HDRSIZEQT MAXALIGN(VARHDRSZ + sizeof(int32)) |
| #define | COMPUTESIZE(size, lenofoperand) ( HDRSIZEQT + (size) * sizeof(ITEM) + (lenofoperand) ) |
| #define | LTXTQUERY_TOO_BIG(size, lenofoperand) ((size) > (MaxAllocSize - HDRSIZEQT - (lenofoperand)) / sizeof(ITEM)) |
| #define | GETQUERY(x) (ITEM*)( (char*)(x)+HDRSIZEQT ) |
| #define | GETOPERAND(x) ( (char*)GETQUERY(x) + ((ltxtquery*)x)->size * sizeof(ITEM) ) |
| #define | ISOPERATOR(x) ( (x)=='!' || (x)=='&' || (x)=='|' || (x)=='(' || (x)==')' ) |
| #define | END 0 |
| #define | ERR 1 |
| #define | VAL 2 |
| #define | OPR 3 |
| #define | OPEN 4 |
| #define | CLOSE 5 |
| #define | VALTRUE 6 /* for stop words */ |
| #define | VALFALSE 7 |
| #define | DatumGetLtreeP(X) ((ltree *) PG_DETOAST_DATUM(X)) |
| #define | DatumGetLtreePCopy(X) ((ltree *) PG_DETOAST_DATUM_COPY(X)) |
| #define | PG_GETARG_LTREE_P(n) DatumGetLtreeP(PG_GETARG_DATUM(n)) |
| #define | PG_GETARG_LTREE_P_COPY(n) DatumGetLtreePCopy(PG_GETARG_DATUM(n)) |
| #define | DatumGetLqueryP(X) ((lquery *) PG_DETOAST_DATUM(X)) |
| #define | DatumGetLqueryPCopy(X) ((lquery *) PG_DETOAST_DATUM_COPY(X)) |
| #define | PG_GETARG_LQUERY_P(n) DatumGetLqueryP(PG_GETARG_DATUM(n)) |
| #define | PG_GETARG_LQUERY_P_COPY(n) DatumGetLqueryPCopy(PG_GETARG_DATUM(n)) |
| #define | DatumGetLtxtqueryP(X) ((ltxtquery *) PG_DETOAST_DATUM(X)) |
| #define | DatumGetLtxtqueryPCopy(X) ((ltxtquery *) PG_DETOAST_DATUM_COPY(X)) |
| #define | PG_GETARG_LTXTQUERY_P(n) DatumGetLtxtqueryP(PG_GETARG_DATUM(n)) |
| #define | PG_GETARG_LTXTQUERY_P_COPY(n) DatumGetLtxtqueryPCopy(PG_GETARG_DATUM(n)) |
| #define | BITBYTE 8 |
| #define | SIGLENBIT(siglen) ((siglen) * BITBYTE) |
| #define | LTREE_SIGLEN_DEFAULT (2 * sizeof(int32)) |
| #define | LTREE_SIGLEN_MAX GISTMaxIndexKeySize |
| #define | LTREE_GET_SIGLEN() |
| #define | LOOPBYTE(siglen) for(i = 0; i < (siglen); i++) |
| #define | GETBYTE(x, i) ( *( (BITVECP)(x) + (int)( (i) / BITBYTE ) ) ) |
| #define | GETBITBYTE(x, i) ( ((unsigned char)(x)) >> i & 0x01 ) |
| #define | CLRBIT(x, i) GETBYTE(x,i) &= ~( 0x01 << ( (i) % BITBYTE ) ) |
| #define | SETBIT(x, i) GETBYTE(x,i) |= ( 0x01 << ( (i) % BITBYTE ) ) |
| #define | GETBIT(x, i) ( (GETBYTE(x,i) >> ( (i) % BITBYTE )) & 0x01 ) |
| #define | HASHVAL(val, siglen) (((unsigned int)(val)) % SIGLENBIT(siglen)) |
| #define | HASH(sign, val, siglen) SETBIT((sign), HASHVAL(val, siglen)) |
| #define | LTG_ONENODE 0x01 |
| #define | LTG_ALLTRUE 0x02 |
| #define | LTG_NORIGHT 0x04 |
| #define | LTG_HDRSIZE MAXALIGN(VARHDRSZ + sizeof(uint32)) |
| #define | LTG_SIGN(x) ( (BITVECP)( ((char*)(x))+LTG_HDRSIZE ) ) |
| #define | LTG_NODE(x) ( (ltree*)( ((char*)(x))+LTG_HDRSIZE ) ) |
| #define | LTG_ISONENODE(x) ( ((ltree_gist*)(x))->flag & LTG_ONENODE ) |
| #define | LTG_ISALLTRUE(x) ( ((ltree_gist*)(x))->flag & LTG_ALLTRUE ) |
| #define | LTG_ISNORIGHT(x) ( ((ltree_gist*)(x))->flag & LTG_NORIGHT ) |
| #define | LTG_LNODE(x, siglen) ( (ltree*)( ( ((char*)(x))+LTG_HDRSIZE ) + ( LTG_ISALLTRUE(x) ? 0 : (siglen) ) ) ) |
| #define | LTG_RENODE(x, siglen) ( (ltree*)( ((char*)LTG_LNODE(x, siglen)) + VARSIZE(LTG_LNODE(x, siglen))) ) |
| #define | LTG_RNODE(x, siglen) ( LTG_ISNORIGHT(x) ? LTG_LNODE(x, siglen) : LTG_RENODE(x, siglen) ) |
| #define | LTG_GETLNODE(x, siglen) ( LTG_ISONENODE(x) ? LTG_NODE(x) : LTG_LNODE(x, siglen) ) |
| #define | LTG_GETRNODE(x, siglen) ( LTG_ISONENODE(x) ? LTG_NODE(x) : LTG_RNODE(x, siglen) ) |
| #define | LTREE_ASIGLEN_DEFAULT (7 * sizeof(int32)) |
| #define | LTREE_ASIGLEN_MAX GISTMaxIndexKeySize |
| #define | LTREE_GET_ASIGLEN() |
| #define | ASIGLENBIT(siglen) ((siglen) * BITBYTE) |
| #define | ALOOPBYTE(siglen) for (i = 0; i < (siglen); i++) |
| #define | AHASHVAL(val, siglen) (((unsigned int)(val)) % ASIGLENBIT(siglen)) |
| #define | AHASH(sign, val, siglen) SETBIT((sign), AHASHVAL(val, siglen)) |
Typedefs | |
| typedef struct ITEM | ITEM |
| typedef unsigned char * | BITVECP |
| #define AHASHVAL | ( | val, | |
| siglen | |||
| ) | (((unsigned int)(val)) % ASIGLENBIT(siglen)) |
| #define DatumGetLqueryP | ( | X | ) | ((lquery *) PG_DETOAST_DATUM(X)) |
| #define DatumGetLqueryPCopy | ( | X | ) | ((lquery *) PG_DETOAST_DATUM_COPY(X)) |
| #define DatumGetLtreeP | ( | X | ) | ((ltree *) PG_DETOAST_DATUM(X)) |
| #define DatumGetLtreePCopy | ( | X | ) | ((ltree *) PG_DETOAST_DATUM_COPY(X)) |
| #define DatumGetLtxtqueryP | ( | X | ) | ((ltxtquery *) PG_DETOAST_DATUM(X)) |
| #define DatumGetLtxtqueryPCopy | ( | X | ) | ((ltxtquery *) PG_DETOAST_DATUM_COPY(X)) |
| #define FLG_CANLOOKSIGN | ( | x | ) | ( ( (x) & ( LQL_NOT | LVAR_ANYEND | LVAR_SUBLEXEME ) ) == 0 ) |
| #define LEVEL_HDRSIZE (offsetof(ltree_level,name)) |
| #define LEVEL_NEXT | ( | x | ) | ( (ltree_level*)( ((char*)(x)) + MAXALIGN(((ltree_level*)(x))->len + LEVEL_HDRSIZE) ) ) |
| #define LQL_CANLOOKSIGN | ( | x | ) | FLG_CANLOOKSIGN( ((lquery_level*)(x))->flag ) |
| #define LQL_COUNT 0x20 /* level is non-'*' and has repeat counts */ |
| #define LQL_FIRST | ( | x | ) | ( (lquery_variant*)( ((char*)(x))+LQL_HDRSIZE ) ) |
| #define LQL_HDRSIZE MAXALIGN( offsetof(lquery_level,variants) ) |
| #define LQL_NEXT | ( | x | ) | ( (lquery_level*)( ((char*)(x)) + MAXALIGN(((lquery_level*)(x))->totallen) ) ) |
| #define LQUERY_FIRST | ( | x | ) | ( (lquery_level*)( ((char*)(x))+LQUERY_HDRSIZE ) ) |
| #define LQUERY_MAX_LEVELS PG_UINT16_MAX /* lquery.numlevel is uint16 */ |
| #define LTG_ISALLTRUE | ( | x | ) | ( ((ltree_gist*)(x))->flag & LTG_ALLTRUE ) |
| #define LTG_ISNORIGHT | ( | x | ) | ( ((ltree_gist*)(x))->flag & LTG_NORIGHT ) |
| #define LTG_ISONENODE | ( | x | ) | ( ((ltree_gist*)(x))->flag & LTG_ONENODE ) |
| #define LTG_LNODE | ( | x, | |
| siglen | |||
| ) | ( (ltree*)( ( ((char*)(x))+LTG_HDRSIZE ) + ( LTG_ISALLTRUE(x) ? 0 : (siglen) ) ) ) |
| #define LTG_NODE | ( | x | ) | ( (ltree*)( ((char*)(x))+LTG_HDRSIZE ) ) |
| #define LTG_RNODE | ( | x, | |
| siglen | |||
| ) | ( LTG_ISNORIGHT(x) ? LTG_LNODE(x, siglen) : LTG_RENODE(x, siglen) ) |
| #define LTG_SIGN | ( | x | ) | ( (BITVECP)( ((char*)(x))+LTG_HDRSIZE ) ) |
| #define LTREE_ASIGLEN_MAX GISTMaxIndexKeySize |
| #define LTREE_FIRST | ( | x | ) | ( (ltree_level*)( ((char*)(x))+LTREE_HDRSIZE ) ) |
| #define LTREE_GET_ASIGLEN | ( | ) |
| #define LTREE_GET_SIGLEN | ( | ) |
| #define LTREE_MAX_LEVELS PG_UINT16_MAX /* ltree.numlevel is uint16 */ |
| #define LTREE_SIGLEN_MAX GISTMaxIndexKeySize |
| #define LTXTQUERY_TOO_BIG | ( | size, | |
| lenofoperand | |||
| ) | ((size) > (MaxAllocSize - HDRSIZEQT - (lenofoperand)) / sizeof(ITEM)) |
| #define LVAR_HDRSIZE MAXALIGN(offsetof(lquery_variant, name)) |
| #define LVAR_INCASE 0x02 /* '@' flag: case-insensitive match */ |
| #define LVAR_NEXT | ( | x | ) | ( (lquery_variant*)( ((char*)(x)) + MAXALIGN(((lquery_variant*)(x))->len) + LVAR_HDRSIZE ) ) |
| #define PG_GETARG_LQUERY_P | ( | n | ) | DatumGetLqueryP(PG_GETARG_DATUM(n)) |
| #define PG_GETARG_LQUERY_P_COPY | ( | n | ) | DatumGetLqueryPCopy(PG_GETARG_DATUM(n)) |
| #define PG_GETARG_LTREE_P | ( | n | ) | DatumGetLtreeP(PG_GETARG_DATUM(n)) |
| #define PG_GETARG_LTREE_P_COPY | ( | n | ) | DatumGetLtreePCopy(PG_GETARG_DATUM(n)) |
| #define PG_GETARG_LTXTQUERY_P | ( | n | ) | DatumGetLtxtqueryP(PG_GETARG_DATUM(n)) |
| #define PG_GETARG_LTXTQUERY_P_COPY | ( | n | ) | DatumGetLtxtqueryPCopy(PG_GETARG_DATUM(n)) |
| PGDLLEXPORT Datum _lt_q_regex | ( | PG_FUNCTION_ARGS | ) |
Definition at line 135 of file _ltree_op.c.
References ARR_DATA_PTR, ARR_DIMS, ARR_NDIM, array_contains_nulls(), array_iterator(), ArrayGetNItems(), ereport, errcode(), errmsg(), ERROR, ltq_regex(), NEXTVAL, PG_FREE_IF_COPY, PG_GETARG_ARRAYTYPE_P, and PG_RETURN_BOOL.
Referenced by _lt_q_rregex().
| PGDLLEXPORT Datum _lt_q_rregex | ( | PG_FUNCTION_ARGS | ) |
Definition at line 169 of file _ltree_op.c.
References _lt_q_regex(), DirectFunctionCall2, PG_GETARG_DATUM, and PG_RETURN_DATUM.
| PGDLLEXPORT Datum _ltq_regex | ( | PG_FUNCTION_ARGS | ) |
Definition at line 114 of file _ltree_op.c.
References array_iterator(), ltq_regex(), PG_FREE_IF_COPY, PG_GETARG_ARRAYTYPE_P, PG_GETARG_LQUERY_P, and PG_RETURN_BOOL.
Referenced by _ltq_rregex().
| PGDLLEXPORT Datum _ltq_rregex | ( | PG_FUNCTION_ARGS | ) |
Definition at line 126 of file _ltree_op.c.
References _ltq_regex(), DirectFunctionCall2, PG_GETARG_DATUM, and PG_RETURN_DATUM.
| PGDLLEXPORT Datum _ltree_isparent | ( | PG_FUNCTION_ARGS | ) |
Definition at line 72 of file _ltree_op.c.
References array_iterator(), ltree_isparent(), PG_FREE_IF_COPY, PG_GETARG_ARRAYTYPE_P, PG_GETARG_LTREE_P, and PG_RETURN_BOOL.
Referenced by _ltree_r_isparent().
| PGDLLEXPORT Datum _ltree_risparent | ( | PG_FUNCTION_ARGS | ) |
Definition at line 93 of file _ltree_op.c.
References array_iterator(), ltree_risparent(), PG_FREE_IF_COPY, PG_GETARG_ARRAYTYPE_P, PG_GETARG_LTREE_P, and PG_RETURN_BOOL.
Referenced by _ltree_r_risparent().
| PGDLLEXPORT Datum _ltxtq_exec | ( | PG_FUNCTION_ARGS | ) |
Definition at line 179 of file _ltree_op.c.
References array_iterator(), ltxtq_exec(), PG_FREE_IF_COPY, PG_GETARG_ARRAYTYPE_P, PG_GETARG_LTXTQUERY_P, and PG_RETURN_BOOL.
Referenced by _ltxtq_rexec().
| PGDLLEXPORT Datum _ltxtq_rexec | ( | PG_FUNCTION_ARGS | ) |
Definition at line 191 of file _ltree_op.c.
References _ltxtq_exec(), DirectFunctionCall2, PG_GETARG_DATUM, and PG_RETURN_DATUM.
| bool compare_subnode | ( | ltree_level * | t, |
| char * | qn, | ||
| int | len, | ||
| int(*)(const char *, const char *, size_t) | cmpptr, | ||
| bool | anyend | ||
| ) |
Definition at line 44 of file lquery_op.c.
References getlexeme(), ltree_level::len, len, and ltree_level::name.
Referenced by checkcondition_str(), and checkLevel().
Definition at line 213 of file ltree_op.c.
References ltree_level::len, LEVEL_NEXT, LTREE_FIRST, ltree_level::name, and ltree::numlevel.
Referenced by ltree_consistent(), ltree_isparent(), and ltree_risparent().
Definition at line 488 of file ltree_op.c.
References a, i, ltree_level::len, len, LEVEL_HDRSIZE, LEVEL_NEXT, LTREE_FIRST, LTREE_HDRSIZE, MAXALIGN, Min, ltree_level::name, ltree::numlevel, palloc0(), and SET_VARSIZE().
| PGDLLEXPORT Datum lt_q_regex | ( | PG_FUNCTION_ARGS | ) |
Definition at line 239 of file lquery_op.c.
References ARR_DATA_PTR, ARR_DIMS, ARR_NDIM, array_contains_nulls(), ArrayGetNItems(), DatumGetBool(), DirectFunctionCall2, ereport, errcode(), errmsg(), ERROR, ltq_regex(), NEXTVAL, PG_FREE_IF_COPY, PG_GETARG_ARRAYTYPE_P, PG_GETARG_LTREE_P, PG_RETURN_BOOL, PointerGetDatum(), and tree.
Referenced by lt_q_rregex(), and ltree_consistent().
| PGDLLEXPORT Datum lt_q_rregex | ( | PG_FUNCTION_ARGS | ) |
Definition at line 275 of file lquery_op.c.
References DirectFunctionCall2, lt_q_regex(), PG_GETARG_DATUM, and PG_RETURN_DATUM.
| PGDLLEXPORT Datum ltq_regex | ( | PG_FUNCTION_ARGS | ) |
Definition at line 215 of file lquery_op.c.
References checkCond(), LQUERY_FIRST, LTREE_FIRST, lquery::numlevel, PG_FREE_IF_COPY, PG_GETARG_LQUERY_P, PG_GETARG_LTREE_P, PG_RETURN_BOOL, and tree.
Referenced by _lt_q_regex(), _ltq_extract_regex(), _ltq_regex(), lt_q_regex(), ltq_rregex(), and ltree_consistent().
| PGDLLEXPORT Datum ltq_rregex | ( | PG_FUNCTION_ARGS | ) |
Definition at line 230 of file lquery_op.c.
References DirectFunctionCall2, ltq_regex(), PG_GETARG_DATUM, and PG_RETURN_DATUM.
| PGDLLEXPORT Datum ltree_addltree | ( | PG_FUNCTION_ARGS | ) |
Definition at line 359 of file ltree_op.c.
References a, b, ltree_concat(), PG_FREE_IF_COPY, PG_GETARG_LTREE_P, and PG_RETURN_POINTER.
| PGDLLEXPORT Datum ltree_addtext | ( | PG_FUNCTION_ARGS | ) |
Definition at line 372 of file ltree_op.c.
References a, b, DatumGetPointer(), DirectFunctionCall1, ltree_concat(), ltree_in(), pfree(), PG_FREE_IF_COPY, PG_GETARG_LTREE_P, PG_GETARG_TEXT_PP, PG_RETURN_POINTER, PointerGetDatum(), and text_to_cstring().
Definition at line 46 of file ltree_op.c.
References a, b, ltree_level::len, LEVEL_NEXT, LTREE_FIRST, Min, and ltree_level::name.
Referenced by gist_ischild(), gist_isparent(), ltree_consistent(), ltree_penalty(), ltree_picksplit(), ltree_union(), and treekey_cmp().
| bool ltree_execute | ( | ITEM * | curitem, |
| void * | checkval, | ||
| bool | calcnot, | ||
| bool(*)(void *checkval, ITEM *val) | chkcond | ||
| ) |
Definition at line 20 of file ltxtquery_op.c.
References check_stack_depth(), ITEM::left, ltree_execute(), ITEM::type, ITEM::val, and VAL.
Referenced by gist_qtxt(), ltree_execute(), and ltxtq_exec().
| ltree_gist * ltree_gist_alloc | ( | bool | isalltrue, |
| BITVECP | sign, | ||
| int | siglen, | ||
| ltree * | left, | ||
| ltree * | right | ||
| ) |
Definition at line 42 of file ltree_gist.c.
References Assert(), ltree_gist::flag, ISEQ, LTG_ALLTRUE, LTG_HDRSIZE, LTG_LNODE, LTG_NODE, LTG_NORIGHT, LTG_ONENODE, LTG_RNODE, LTG_SIGN, palloc(), SET_VARSIZE(), sign, and VARSIZE().
Referenced by _ltree_compress(), _ltree_picksplit(), _ltree_union(), ltree_compress(), ltree_picksplit(), and ltree_union().
| PGDLLEXPORT Datum ltree_in | ( | PG_FUNCTION_ARGS | ) |
Definition at line 174 of file ltree_io.c.
References buf, parse_ltree(), PG_GETARG_POINTER, PG_RETURN_NULL, and PG_RETURN_POINTER.
Referenced by ltree_addtext(), ltree_textadd(), and text2ltree().
| PGDLLEXPORT Datum ltree_isparent | ( | PG_FUNCTION_ARGS | ) |
Definition at line 237 of file ltree_op.c.
References inner_isparent(), PG_FREE_IF_COPY, PG_GETARG_LTREE_P, and PG_RETURN_BOOL.
Referenced by _ltree_extract_isparent(), and _ltree_isparent().
| PGDLLEXPORT Datum ltree_risparent | ( | PG_FUNCTION_ARGS | ) |
Definition at line 249 of file ltree_op.c.
References inner_isparent(), PG_FREE_IF_COPY, PG_GETARG_LTREE_P, and PG_RETURN_BOOL.
Referenced by _ltree_extract_risparent(), and _ltree_risparent().
| int ltree_strncasecmp | ( | const char * | a, |
| const char * | b, | ||
| size_t | s | ||
| ) |
Definition at line 78 of file lquery_op.c.
References a, b, pfree(), and str_tolower().
Referenced by checkcondition_str(), and checkLevel().
| PGDLLEXPORT Datum ltree_textadd | ( | PG_FUNCTION_ARGS | ) |
Definition at line 457 of file ltree_op.c.
References a, b, DatumGetPointer(), DirectFunctionCall1, ltree_concat(), ltree_in(), pfree(), PG_FREE_IF_COPY, PG_GETARG_LTREE_P, PG_GETARG_TEXT_PP, PG_RETURN_POINTER, PointerGetDatum(), and text_to_cstring().
| PGDLLEXPORT Datum ltxtq_exec | ( | PG_FUNCTION_ARGS | ) |
Definition at line 84 of file ltxtquery_op.c.
References checkcondition_str(), GETOPERAND, GETQUERY, ltree_execute(), CHKVAL::node, CHKVAL::operand, PG_FREE_IF_COPY, PG_GETARG_LTREE_P, PG_GETARG_LTXTQUERY_P, PG_RETURN_BOOL, and val.
Referenced by _ltxtq_exec(), _ltxtq_extract_exec(), ltree_consistent(), and ltxtq_rexec().
| PGDLLEXPORT Datum ltxtq_rexec | ( | PG_FUNCTION_ARGS | ) |
Definition at line 105 of file ltxtquery_op.c.
References DirectFunctionCall2, ltxtq_exec(), PG_GETARG_DATUM, and PG_RETURN_DATUM.