Re: pgsql: JSON_TABLE

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Oleg Bartunov <obartunov(at)postgrespro(dot)ru>
Cc: Erik Rijkers <er(at)xs4all(dot)nl>, pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: Re: pgsql: JSON_TABLE
Date: 2022-04-05 19:35:58
Message-ID: 29db47b6-1193-c568-245e-511247324d86@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers


On 4/5/22 15:05, Oleg Bartunov wrote:
> On Tue, Apr 5, 2022 at 1:31 AM Andrew Dunstan <andrew(at)dunslane(dot)net> wrote:
>>
>> On 4/4/22 18:16, Erik Rijkers wrote:
>>> Op 04-04-2022 om 22:23 schreef Andrew Dunstan:
>>>> JSON_TABLE
>>> Great that this is now committed!
>>>
>>> I notice one changed item: the NESTED-PATH-phrase does not accept an
>>> alias anymore. The JSON_PATH v59 patches still had:
>>>
>>> | NESTED PATH json_path_specification [ AS path_name ]
>>> COLUMNS ( json_table_column [, ...] )
>>>
>>> My complaint is only half-hearted because I don't really understand
>>> what the use of such nested-path aliases are. But it's a change from
>>> the earlier patch, and the nested-path aliases are used too in the
>>> 2017-03 'Technical report ISO/IEC TR 19075-6', which is as near I have
>>> to a SQL Standard description.
>>>
>>> FWIW, I attach example sql+data from that .pdf from ISO (which is not
>>> online anymore).
>>>
>>>
>> These commits are being staggered. The last code patches will be
>> committed tomorrow.
> as for PostgreSQL 15devel-master/fadb48b00e aliases AS works
>
> SELECT
> jt.*
> FROM
> house,
> JSON_TABLE(js, '$.floor[*]' AS lvl COLUMNS (
> level int,
> NESTED PATH '$.apt[*] ? (@.area > 1000)' AS big COLUMNS (
> no int
> )
> ) PLAN (lvl OUTER big) ) jt;
> level | no
> -------+--------
> 1 | (null)
> 2 | (null)
> (2 rows)

Yeah, and I think that's the answer to Erik's question about why we need
it, it's so you have a name you can refer to in the PLAN clause, as in
you example.

cheers

andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com

In response to

Browse pgsql-committers by date

  From Date Subject
Next Message Daniel Gustafsson 2022-04-05 19:46:27 Re: pgsql: pg_rewind: Fetch small files according to new size.
Previous Message Tom Lane 2022-04-05 19:16:20 Re: API stability [was: pgsql: Fix possible recovery trouble if TRUNCATE overlaps a checkpoint.]