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)
const char * jspOperationName(JsonPathItemType type)
JsonPathParseResult * parsejsonpath(const char *str, int len, struct Node *escontext)
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
bool jspGetNext(JsonPathItem *v, JsonPathItem *a)
static JsonPath * DatumGetJsonPathP(Datum d)
JsonbValue * JsonPathValue(Datum jb, JsonPath *jp, bool *empty, bool *error, List *vars, const char *column_name)
struct JsonPathParseResult JsonPathParseResult
void jspGetRightArg(JsonPathItem *v, JsonPathItem *a)
char * jspGetString(JsonPathItem *v, int32 *len)
struct JsonPathItem JsonPathItem
static JsonPath * DatumGetJsonPathPCopy(Datum d)
union JsonPathItem::@139 content
struct JsonPathItem::@139::@141::@145 * elems
struct JsonPathItem::@139::@144 like_regex
struct JsonPathItem::@139::@141 array
struct JsonPathItem::@139::@140 args
struct JsonPathItem::@139::@143 value
struct JsonPathItem::@139::@142 anybounds
struct JsonPathParseItem::@146::@150 like_regex
JsonPathParseItem * right
struct JsonPathParseItem::@146::@148::@152 * elems
struct JsonPathParseItem::@146::@147 args
union JsonPathParseItem::@146 value
struct JsonPathParseItem::@146::@149 anybounds
struct JsonPathParseItem::@146::@148 array
struct JsonPathParseItem::@146::@151 string