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.johns...@gmail.com> 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 happens > when the inputs aren't two arrays or two objects. I'd kind of assumed > that that's an error, but it isn't. Some experimentation indicates > that the behavior in all cases except two objects is to convert any > non-array input to a one-element array, reducing the situation to the > two-array case. > > regards, tom lane >