Hi, On Wed, Nov 19, 2025 at 11:55 AM jian he <[email protected]> wrote: > On Fri, Nov 7, 2025 at 2:26 PM Kirill Reshke <[email protected]> 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-0001-Fix-error-reporting-for-SQL-JSON-path-type-mismat.patch
Description: Binary data
