The following nicer work-around was suggested to me by Andreas Karlsson:
- jsonb_insert(x.jsonb_array,'{-1}',next_item.item,TRUE)
+ x.jsonb_array || jsonb_build_array(next_item.item)
On Fri, Dec 18, 2020, at 17:20, Tom Lane wrote:
"David G. Johnston" <david.g.johnston@xxxxxxxxx> writes:> I'll agree that the description could discuss the case explicitly, and the> array||scalar case could be added to the examples.Yeah, the documentation completely fails to explain what happenswhen the inputs aren't two arrays or two objects. I'd kind of assumedthat that's an error, but it isn't. Some experimentation indicatesthat the behavior in all cases except two objects is to convert anynon-array input to a one-element array, reducing the situation to thetwo-array case.regards, tom lane