The following bug has been logged on the website:
Bug reference: 14626
Logged by: David Johnston
Email address: david(dot)g(dot)johnston(at)gmail(dot)com
PostgreSQL version: 9.5.6
Operating system: Ubuntu 14.04
Description:
In short...
This works:
SELECT array_agg(CASE WHEN a = ARRAY[]::text[] THEN ARRAY['N/A']::text[]
ELSE a END)
FROM ( VALUES (1, ARRAY[]::text[]), (1, ARRAY['1']::text[]) ) vals (v, a);
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)
David J.