Re: transformJsonFuncExpr pathspec cache lookup failed
Kirill Reshke <reshkekirill@gmail.com>
From: Kirill Reshke <reshkekirill@gmail.com>
To: Amit Langote <amitlangote09@gmail.com>
Cc: jian he <jian.universality@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2025-11-26T11:56:52Z
Lists: pgsql-hackers
On Wed, 26 Nov 2025 at 10:32, Amit Langote <amitlangote09@gmail.com> wrote: > > Hi, > > On Wed, Nov 19, 2025 at 11:55 AM jian he <jian.universality@gmail.com> wrote: > > On Fri, Nov 7, 2025 at 2:26 PM Kirill Reshke <reshkekirill@gmail.com> wrote: > > > > > > Hi! > > > I tried your fix and this indeed fixes an issue. Two minor comments: > > > > > > First, > > > in the `src/backend/parser/parse_expr.c` fil there are multiple > > > examples of working with `coerce_to_target_type`, they all share > > > different coding practice: > > > > > > ``` > > > coerced_expr = coerce_to_target_type(.., expr, ..) > > > > > > if (coerced_expr == NULL) > > > ereport(); > > > > > > > > > expr = coerced_expr; > > > ``` > > > > > > Instead of > > > ``` > > > expr = coerce_to_target_type(.., expr, ..) > > > > > > if (expr == NULL) > > > ereport(); > > > ``` > > > > > > Let's be consistent? > > > > > > > IMHO, > > > coerced_expr = coerce_to_target_type(.., expr, ..) > > is better than > > > expr = coerce_to_target_type(.., expr, ..) > > > > I changed accordingly. > > I agree, though I prefer a different name for that coerced_* variable. > Also, let’s define the _type and _loc variables inside the error > block. Updated patch attached. > > Please feel free to post a patch for the 2nd issue. > > -- > Thanks, Amit Langote v2 lgtm -- Best regards, Kirill Reshke
Commits
-
Fix error reporting for SQL/JSON path type mismatches
- 519fa0433b37 19 (unreleased) landed
- 15ba0702c1ae 18.2 landed
- b5511fed500e 17.8 landed