Re: BUG #19046: Incorrect result when using json_array() with column reference in subquery combined with RIGHT JOIN
Richard Guo <guofenglinux@gmail.com>
From: Richard Guo <guofenglinux@gmail.com>
To: Tender Wang <tndrwang@gmail.com>
Cc: runyuan@berkeley.edu, pgsql-bugs@lists.postgresql.org, Tom Lane <tgl@sss.pgh.pa.us>
Date: 2025-09-11T03:10:15Z
Lists: pgsql-bugs
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Treat JsonConstructorExpr as non-strict
- 62397bb1893b 16.11 landed
- d719e2ecb188 17.7 landed
- d29a3f4b46a0 18.0 landed
- b63a82245215 19 (unreleased) landed
-
Avoid inserting PlaceHolderVars in cases where pre-v16 PG did not.
- cb8e50a4a09f 18.0 cited
On Thu, Sep 11, 2025 at 10:40 AM Tender Wang <tndrwang@gmail.com> wrote: > Richard Guo <guofenglinux@gmail.com> 于2025年9月10日周三 21:29写道: >> I'm wondering if this is the only case we've overlooked. How about >> other Json-related expressions? > Yeah, I have the same question. I tried my fix on json_object/json_arrayagg/json_objectagg. > These returned the same results. json_object is also represented as a JsonConstructorExpr. json_arrayagg and json_objectagg are aggregates, so the subquery won't be pulled up in the first place. I tested JsonExpr, which is the representation of json_value, json_query and json_exists. It seems that they could not produce non-NULL output with a NULL input. So we are good on that front. - Richard