From b4fad46b6bc8a9bf46ff689bcb1bd4edf8f267af Mon Sep 17 00:00:00 2001 From: Amit Langote Date: Thu, 18 Apr 2024 14:33:47 +0900 Subject: SQL/JSON: Improve some error messages This improves some error messages emitted by SQL/JSON query functions by mentioning column name when available, such as when they are invoked as part of evaluating JSON_TABLE() columns. To do so, a new field column_name is added to both JsonFuncExpr and JsonExpr that is only populated when creating those nodes for transformed JSON_TABLE() columns. While at it, relevant error messages are reworded for clarity. Reported-by: Jian He Suggested-by: Jian He Discussion: https://postgr.es/m/CACJufxG_e0QLCgaELrr2ZNz7AxPeGCNKAORe3fHtFCQLsH4J4Q@mail.gmail.com --- src/include/utils/jsonpath.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/include/utils/jsonpath.h') diff --git a/src/include/utils/jsonpath.h b/src/include/utils/jsonpath.h index 4d3964488dd..0bcc1ac569d 100644 --- a/src/include/utils/jsonpath.h +++ b/src/include/utils/jsonpath.h @@ -300,9 +300,11 @@ typedef struct JsonPathVariable /* SQL/JSON item */ 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); + bool *empty, bool *error, List *vars, + const char *column_name); extern JsonbValue *JsonPathValue(Datum jb, JsonPath *jp, bool *empty, - bool *error, List *vars); + bool *error, List *vars, + const char *column_name); extern PGDLLIMPORT const TableFuncRoutine JsonbTableRoutine; -- cgit v1.2.3