aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAmit Langote <amitlan@postgresql.org>2024-04-18 14:38:12 +0900
committerAmit Langote <amitlan@postgresql.org>2024-04-18 14:46:43 +0900
commitef744ebb7340d42361ebd88d068b27b17e69de18 (patch)
treeaf0ef92bec309bad520cf74c7e2290fce808a2eb /src
parentc0fc0751862d4e9b7ca9d51f2cd79344690ec873 (diff)
downloadpostgresql-ef744ebb7340d42361ebd88d068b27b17e69de18.tar.gz
postgresql-ef744ebb7340d42361ebd88d068b27b17e69de18.zip
SQL/JSON: Miscellaneous fixes and improvements
This addresses some post-commit review comments for commits 6185c973, de3600452, and 9425c596a0, with the following changes: * Fix JSON_TABLE() syntax documentation to use the term "path_expression" for JSON path expressions instead of "json_path_specification" to be consistent with the other SQL/JSON functions. * Fix a typo in the example code in JSON_TABLE() documentation. * Rewrite some newly added comments in jsonpath.h. * In JsonPathQuery(), add missing cast to int before printing an enum value. Reported-by: Jian He <jian.universality@gmail.com> Discussion: https://postgr.es/m/CACJufxG_e0QLCgaELrr2ZNz7AxPeGCNKAORe3fHtFCQLsH4J4Q@mail.gmail.com
Diffstat (limited to 'src')
-rw-r--r--src/backend/utils/adt/jsonpath_exec.c2
-rw-r--r--src/include/utils/jsonpath.h8
2 files changed, 4 insertions, 6 deletions
diff --git a/src/backend/utils/adt/jsonpath_exec.c b/src/backend/utils/adt/jsonpath_exec.c
index e74dc1b2d42..4daf1a68d9d 100644
--- a/src/backend/utils/adt/jsonpath_exec.c
+++ b/src/backend/utils/adt/jsonpath_exec.c
@@ -3935,7 +3935,7 @@ JsonPathQuery(Datum jb, JsonPath *jp, JsonWrapper wrapper, bool *empty,
JsonContainerIsScalar(singleton->val.binary.data));
else
{
- elog(ERROR, "unrecognized json wrapper %d", wrapper);
+ elog(ERROR, "unrecognized json wrapper %d", (int) wrapper);
wrap = false;
}
diff --git a/src/include/utils/jsonpath.h b/src/include/utils/jsonpath.h
index 0bcc1ac569d..69c180c2e29 100644
--- a/src/include/utils/jsonpath.h
+++ b/src/include/utils/jsonpath.h
@@ -281,12 +281,9 @@ extern JsonPathParseResult *parsejsonpath(const char *str, int len,
extern bool jspConvertRegexFlags(uint32 xflags, int *result,
struct Node *escontext);
-
/*
- * Evaluation of jsonpath
+ * Struct for details about external variables passed into jsonpath executor
*/
-
-/* External variable passed into jsonpath. */
typedef struct JsonPathVariable
{
char *name;
@@ -297,7 +294,7 @@ typedef struct JsonPathVariable
} JsonPathVariable;
-/* SQL/JSON item */
+/* SQL/JSON query functions */
extern bool JsonPathExists(Datum jb, JsonPath *path, bool *error, List *vars);
extern Datum JsonPathQuery(Datum jb, JsonPath *jp, JsonWrapper wrapper,
bool *empty, bool *error, List *vars,
@@ -306,6 +303,7 @@ extern JsonbValue *JsonPathValue(Datum jb, JsonPath *jp, bool *empty,
bool *error, List *vars,
const char *column_name);
+/* For JSON_TABLE() */
extern PGDLLIMPORT const TableFuncRoutine JsonbTableRoutine;
#endif