30#define JSONPATH_VERSION (0x01)
31#define JSONPATH_LAX (0x80000000)
32#define JSONPATH_HDRSZ (offsetof(JsonPath, data))
46#define PG_GETARG_JSONPATH_P(x) DatumGetJsonPathP(PG_GETARG_DATUM(x))
47#define PG_GETARG_JSONPATH_P_COPY(x) DatumGetJsonPathPCopy(PG_GETARG_DATUM(x))
48#define PG_RETURN_JSONPATH_P(p) PG_RETURN_POINTER(p)
50#define jspIsScalar(type) ((type) >= jpiNull && (type) <= jpiBool)
121#define JSP_REGEX_ICASE 0x01
122#define JSP_REGEX_DOTALL 0x02
123#define JSP_REGEX_MLINE 0x04
124#define JSP_REGEX_WSPACE 0x08
125#define JSP_REGEX_QUOTE 0x10
194#define jspHasNext(jsp) ((jsp)->nextPos > 0)
279 struct Node *escontext);
282 struct Node *escontext);
302 const char *column_name);
305 const char *column_name);
#define FLEXIBLE_ARRAY_MEMBER
#define PG_DETOAST_DATUM_COPY(datum)
#define PG_DETOAST_DATUM(datum)
PGDLLIMPORT const TableFuncRoutine JsonbTableRoutine
bool JsonPathExists(Datum jb, JsonPath *jp, bool *error, List *vars)
bool jspIsMutable(JsonPath *path, List *varnames, List *varexprs)
void jspGetLeftArg(JsonPathItem *v, JsonPathItem *a)
void jspGetArg(JsonPathItem *v, JsonPathItem *a)
void jspInitByBuffer(JsonPathItem *v, char *base, int32 pos)
bool jspGetBool(JsonPathItem *v)
void jspInit(JsonPathItem *v, JsonPath *js)
Datum JsonPathQuery(Datum jb, JsonPath *jp, JsonWrapper wrapper, bool *empty, bool *error, List *vars, const char *column_name)
char * jspGetString(JsonPathItem *v, int32 *len)
bool jspConvertRegexFlags(uint32 xflags, int *result, struct Node *escontext)
Numeric jspGetNumeric(JsonPathItem *v)
bool jspGetArraySubscript(JsonPathItem *v, JsonPathItem *from, JsonPathItem *to, int i)
struct JsonPathVariable JsonPathVariable
static JsonPath * DatumGetJsonPathPCopy(Datum d)
const char * jspOperationName(JsonPathItemType type)
bool jspGetNext(JsonPathItem *v, JsonPathItem *a)
JsonbValue * JsonPathValue(Datum jb, JsonPath *jp, bool *empty, bool *error, List *vars, const char *column_name)
JsonPathParseResult * parsejsonpath(const char *str, int len, struct Node *escontext)
struct JsonPathParseResult JsonPathParseResult
static JsonPath * DatumGetJsonPathP(Datum d)
void jspGetRightArg(JsonPathItem *v, JsonPathItem *a)
struct JsonPathItem JsonPathItem
struct JsonPathItem::@144::@149 like_regex
struct JsonPathItem::@144::@147 anybounds
union JsonPathItem::@144 content
struct JsonPathItem::@144::@146 array
struct JsonPathItem::@144::@146::@150 * elems
struct JsonPathItem::@144::@148 value
struct JsonPathItem::@144::@145 args
struct JsonPathParseItem::@151::@153 array
JsonPathParseItem * right
struct JsonPathParseItem::@151::@155 like_regex
union JsonPathParseItem::@151 value
struct JsonPathParseItem::@151::@154 anybounds
struct JsonPathParseItem::@151::@152 args
struct JsonPathParseItem::@151::@153::@157 * elems
struct JsonPathParseItem::@151::@156 string