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
> 

Reply via email to