Remove "invalid concatenation of jsonb objects" error case. The jsonb || jsonb operator arbitrarily rejected certain combinations of scalar and non-scalar inputs, while being willing to concatenate other combinations. This was of course quite undocumented. Rather than trying to document it, let's just remove the restriction, creating a uniform rule that unless we are handling an object-to-object concatenation, non-array inputs are converted to one-element arrays, resulting in an array-to-array concatenation. (This does not change the behavior for any case that didn't throw an error before.)
Per complaint from Joel Jacobson. Back-patch to all supported branches. Discussion: https://postgr.es/m/[email protected] Branch ------ REL9_5_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/edcdbc44eed2eae5c7b40a051998e32ecf4f8f12 Modified Files -------------- doc/src/sgml/func.sgml | 11 +++-- src/backend/utils/adt/jsonfuncs.c | 85 +++++++++++++++++-------------------- src/test/regress/expected/jsonb.out | 36 +++++++++++++++- src/test/regress/sql/jsonb.sql | 5 +++ 4 files changed, 86 insertions(+), 51 deletions(-)
