Re: jsonb array-style subscripting

Kaare Rasmussen <kaare@jasonic.dk>

From: Kaare Rasmussen <kaare@jasonic.dk>
To: <pgsql-hackers@postgresql.org>
Date: 2015-08-18T05:11:15Z
Lists: pgsql-hackers
On 2015-08-17 22:33, Josh Berkus wrote:
> So, both perl and python do not allow "deep nesting" of assignments. 
> For example:
>>>> d = { "a" : { } }
>>>> d["a"]["a1"]["a2"] = 42
> Traceback (most recent call last):
>    File "<stdin>", line 1, in <module>
> KeyError: 'a1'

Not sure I understand what you mean. In Perl you'd do

$ perl -e '%d = (a => {}); $d{a}{a1}{a2} = 42; print $d{a}{a1}{a2}'
42

which looks pretty much like what's proposed.

/kaare


Commits

  1. Throw error when assigning jsonb scalar instead of a composite object

  2. Filling array gaps during jsonb subscripting

  3. Implementation of subscripting for jsonb