Re: jsonb array-style subscripting - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: jsonb array-style subscripting
Date
Msg-id 55D3388A.70006@dunslane.net
Whole thread Raw
In response to Re: jsonb array-style subscripting  (Kaare Rasmussen <kaare@jasonic.dk>)
List pgsql-hackers

On 08/18/2015 01:11 AM, Kaare Rasmussen wrote:
> 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.
>
>


Indeed, I mentioned recently that perl auto-vivifies intermediate paths 
like this.

But we don't do that in jsonb_set, as was discussed back in May, and as 
JS doesn't either I think that decision is sound.

cheers

andrew




pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: allowing wal_level change at run time
Next
From: Robert Haas
Date:
Subject: Re: DTrace build dependency rules