intarray: return empty zero-dimensional array for an empty array

Previously a one-dimensional empty array was returned, but its text
representation matched a zero-dimensional array, and there is no way to
dump/reload a one-dimensional empty array.

BACKWARD INCOMPATIBILITY

Per report from elein
pull/6/head
Bruce Momjian 12 years ago
parent b8104730c8
commit c155f654b4
  1. 7
      contrib/intarray/_int_tool.c

@ -246,6 +246,13 @@ resize_intArrayType(ArrayType *a, int num)
int nbytes = ARR_DATA_OFFSET(a) + sizeof(int) * num;
int i;
/* if no elements, return a zero-dimensional array */
if (num == 0)
{
ARR_NDIM(a) = 0;
return a;
}
if (num == ARRNELEMS(a))
return a;

Loading…
Cancel
Save