]> granicus.if.org Git - postgresql/commit
Fix yet more problems with incorrectly-constructed zero-length arrays.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 9 Jul 2018 18:28:04 +0000 (14:28 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 9 Jul 2018 18:28:04 +0000 (14:28 -0400)
commit95cce84c16ca9d1477ef9e2d35bb688173142461
tree7aad5284094300dc3924ee015a5b4f18116e11e5
parentb4f0d738c3c33752f82398f5e6d0db09e7c862cb
Fix yet more problems with incorrectly-constructed zero-length arrays.

Commit 716ea626a attempted to fix the problem of building 1-D zero-size
arrays once and for all.  But it turns out that contrib/intarray has some
code that doesn't use construct_array() but just builds arrays by hand,
so it didn't get the memo.  This appears to affect all of subarray(),
intset_subtract(), inner_int_union(), inner_int_inter(), and
intarray_concat_arrays().

Back-patch into v11.  In the past we've not back-patched this type of
change, but since v11 is still in beta it seems all right to include
this fix in it.  Besides it's more consistent to make the fix in v11
where 716ea626a appeared.

Report and patch by Alexey Kryuchkov, some cosmetic adjustments by me

Report: https://postgr.es/m/153053285112.13258.434620894305716755@wrigleys.postgresql.org
Discussion: https://postgr.es/m/CAN85JcYphDLYt4CpMDLZjjNVqGDrFJ5eS3YF=wLAhFoDQuBsyg@mail.gmail.com
contrib/intarray/_int_tool.c
contrib/intarray/expected/_int.out
contrib/intarray/sql/_int.sql