Re: BUG #17387: Working in PG13 but not in PGH14: array_agg(RECORD)
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Pavel Stehule <pavel.stehule@gmail.com>
Cc: james.inform@pharmapp.de,
PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2022-01-28T21:55:21Z
Lists: pgsql-bugs
I wrote:
> ... which was non-ambiguous because in this usage, anyelement
> wouldn't match an array type. I wonder why that's not
> happening with the anycompatible family?
Poking further, this case still works:
regression=# select array[1] || array[2];
?column?
----------
{1,2}
(1 row)
so we didn't break it completely (I rather imagine we have
regression tests that would have noticed that). Also,
you can still concatenate arrays of known composite types:
regression=# select array_agg(t) || array_agg(t) from int8_tbl t;
?column?
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-----------------------------------------
{"(123,456)","(123,4567890123456789)","(4567890123456789,123)","(45678901234567
89,4567890123456789)","(4567890123456789,-4567890123456789)","(123,456)","(123,4
567890123456789)","(4567890123456789,123)","(4567890123456789,4567890123456789)"
,"(4567890123456789,-4567890123456789)"}
(1 row)
So it seems like this is specific to type record[] somehow.
Odd.
regards, tom lane
Commits
-
Fix failure to validate the result of select_common_type().
- c025067f6d3f 14.2 landed
- 8e2e0f75869e 15.0 landed
- 5ad70564f46a 13.6 landed
-
Declare assorted array functions using anycompatible not anyelement.
- 9e38c2bb5093 14.0 cited