Re: BUG #14626: array_agg( anyarray ) unexpected error with multi-valued single-dimension array

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: david(dot)g(dot)johnston(at)gmail(dot)com
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #14626: array_agg( anyarray ) unexpected error with multi-valued single-dimension array
Date: 2017-04-19 21:03:52
Message-ID: 30751.1492635832@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

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

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2017-04-19 21:20:31 Re: pg_dump(1) failures when concurrently refreshing mat views
Previous Message david.g.johnston 2017-04-19 20:43:27 BUG #14626: array_agg( anyarray ) unexpected error with multi-valued single-dimension array