On May 22, 2015, at 7:22 PM, Andrew Dunstan <and...@dunslane.net> wrote:

> The proposed flag for jsonb_set (the renamed jsonb_replace) in the patch I 
> recently published is set to false, meaning that the default behaviour is to 
> require all elements of the path including the last to be present. What that 
> does is effectively UPDATE for jsonb. If the flag is true, then the last 
> element can be absent, in which case it's created, so this is basically 
> UPSERT for jsonb. The question is which should be the default. We got into 
> the weeds on this with suggestions of throwing errors on missing paths, but 
> that's going nowhere, and I want to get discussion back onto the topic of 
> what should be the default.

Here’s JavaScript in Chrome, FWIW:

var f = {}
f["foo"][0] = “bar"
Uncaught TypeError: Cannot set property '0' of undefined
    at <anonymous>:2:13
    at Object.InjectedScript._evaluateOn (<anonymous>:895:140)
    at Object.InjectedScript._evaluateAndWrap (<anonymous>:828:34)
    at Object.InjectedScript.evaluate (<anonymous>:694:21)

Best,

David

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to