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