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
smime.p7s
Description: S/MIME cryptographic signature