Re: SQL:2023 JSON simplified accessor support

From: Jelte Fennema-Nio <postgres(at)jeltef(dot)nl>
To: Alexandra Wang <alexandra(dot)wang(dot)oss(at)gmail(dot)com>
Cc: Mark Dilger <mark(dot)dilger(at)enterprisedb(dot)com>, Matheus Alcantara <matheusssilv97(at)gmail(dot)com>, Peter Eisentraut <peter(at)eisentraut(dot)org>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Nikita Glukhov <glukhov(dot)n(dot)a(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>, "David E(dot) Wheeler" <david(at)justatheory(dot)com>, jian he <jian(dot)universality(at)gmail(dot)com>
Subject: Re: SQL:2023 JSON simplified accessor support
Date: 2025-06-28 23:52:38
Message-ID: CAGECzQRzrW1+R8LnMJVGgo+SxBjrFBkTy6ajbV2gGE-+p4w1Ag@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, 13 Mar 2025 at 15:02, Alexandra Wang
<alexandra(dot)wang(dot)oss(at)gmail(dot)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.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Ian Lawrence Barwick 2025-06-29 02:16:10 Re: regdatabase
Previous Message Noah Misch 2025-06-28 20:45:46 Patch review marketplace