Re: SQL:2023 JSON simplified accessor support
Jelte Fennema-Nio <postgres@jeltef.nl>
From: Jelte Fennema-Nio <postgres@jeltef.nl>
To: Alexandra Wang <alexandra.wang.oss@gmail.com>
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-06-28T23:52:38Z
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 →
-
Add test coverage for indirection transformation
- 64492917280a 19 (unreleased) landed
-
Fix typo in comment
- 81a61fde84ff 19 (unreleased) landed
-
Implementation of subscripting for jsonb
- 676887a3b0b8 14.0 cited
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.