]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Fix error reporting for SQL/JSON path type mismatches
authorAmit Langote <amitlan@postgresql.org>
Thu, 27 Nov 2025 01:43:29 +0000 (10:43 +0900)
committerAmit Langote <amitlan@postgresql.org>
Thu, 27 Nov 2025 03:07:01 +0000 (12:07 +0900)
commit519fa0433b37701b357753a568080bee2c47d238
tree8eb58cf164175912e4233996585cc022d7c335e1
parent0ca3b16973a8bb1c185f56e65edcadc0d9d2c406
Fix error reporting for SQL/JSON path type mismatches

transformJsonFuncExpr() used exprType()/exprLocation() on the
possibly coerced path expression, which could be NULL when
coercion to jsonpath failed, leading to "cache lookup failed
for type 0" errors.

Preserve the original expression node so that type and location
in the "must be of type jsonpath" error are reported correctly.
Add regression tests to cover these cases.

Reported-by: Jian He <jian.universality@gmail.com>
Author: Jian He <jian.universality@gmail.com>
Reviewed-by: Kirill Reshke <reshkekirill@gmail.com>
Discussion: https://postgr.es/m/CACJufxHunVg81JMuNo8Yvv_hJD0DicgaVN2Wteu8aJbVJPBjZA@mail.gmail.com
Backpatch-through: 17
src/backend/parser/parse_expr.c
src/test/regress/expected/sqljson_queryfuncs.out
src/test/regress/sql/sqljson_queryfuncs.sql