Re: SQL:2023 JSON simplified accessor support

Alexandra Wang <alexandra.wang.oss@gmail.com>

From: Alexandra Wang <alexandra.wang.oss@gmail.com>
To: Jelte Fennema-Nio <postgres@jeltef.nl>
Cc: Mark Dilger <mark.dilger@enterprisedb.com>, Matheus Alcantara <matheusssilv97@gmail.com>, Peter Eisentraut <peter@eisentraut.org>, Andrew Dunstan <andrew@dunslane.net>, Nikita Glukhov <glukhov.n.a@gmail.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>, "David E. Wheeler" <david@justatheory.com>, jian he <jian.universality@gmail.com>
Date: 2025-07-09T08:10:36Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Add test coverage for indirection transformation

  2. Fix typo in comment

  3. Implementation of subscripting for jsonb

Hi Jelte,

On Sat, Jun 28, 2025 at 4:52 PM Jelte Fennema-Nio <postgres@jeltef.nl>
wrote:

> On Thu, 13 Mar 2025 at 15:02, Alexandra Wang
> <alexandra.wang.oss@gmail.com> wrote:
> > I have attached the new patches.
>
> Okay I finally found the time to look at this. I created a draft PR
> for pg_duckdb[1] to see if I would run into issues. There was only one
> real issue I found by doing this. The .* syntax is encoded as NULL in
> refupperindexpr, but that is currently already a valid representation
> of a slice operation without specifying upper or lower. The easiest
> way to reproduce the problem is:
>
> CREATE TABLE arr(a int[]);
> explain (verbose) SELECT a[:] FROM arr;
>                           QUERY PLAN
> ───────────────────────────────────────────────────────────────
>  Seq Scan on public.arr  (cost=0.00..23.60 rows=1360 width=32)
>    Output: a.*
>
> That last line should instead be
>   Output: a[:]
>
> So I think we need to add a new Star node type, that represents the *
> literal after parsing.
>
> I haven't looked too closely at the code yet.
>

Thank you so much for testing and reviewing, I really appreciate it! I
fixed the EXPLAIN in v12 by adding a Star node, as you suggested.
Looking forward to your thoughts when you have time for a further
review!

Best,
Alex