david(dot)g(dot)johnston(at)gmail(dot)com writes:
> This doesn't, and should since the number of elements in the non-empty array
> shouldn't change the dimensionality logic.
> SELECT array_agg(CASE WHEN a = ARRAY[]::text[] THEN ARRAY['N/A']::text[]
> ELSE a END)
> FROM ( VALUES (1, ARRAY[]::text[]), (1, ARRAY['1','2']::text[]) ) vals (v,
> a)
Why do you think that should work? You're asking array_agg to accumulate
a 1-D length-1 array and then a 1-D length-2 array. There's no way to
make a rectangular 2-D array out of that, except perhaps by inventing
entries which isn't in array_agg's charter.
regards, tom lane