public inbox for [email protected]  
help / color / mirror / Atom feed
pgsql: Don't try to parallelize array_agg() on an anonymous record type
3+ messages / 1 participants
[nested] [flat]

* pgsql: Don't try to parallelize array_agg() on an anonymous record type
@ 2025-03-09 17:11  Tom Lane <[email protected]>
  0 siblings, 0 replies; 3+ messages in thread

From: Tom Lane @ 2025-03-09 17:11 UTC (permalink / raw)
  To: [email protected]

Don't try to parallelize array_agg() on an anonymous record type.

This doesn't work because record_recv requires the typmod that
identifies the specific record type (in our session) and
array_agg_deserialize has no convenient way to get that information.
The result is an "input of anonymous composite types is not
implemented" error.

We could probably make this work if we had to, but it does not seem
worth the trouble, given that it took this long to get a field report.
Just shut off parallelization, as though record_recv didn't exist.

Oversight in commit 16fd03e95.  Back-patch to v16 where that
came in.

Reported-by: Kirill Zdornyy <[email protected]>
Diagnosed-by: Richard Guo <[email protected]>
Author: Tom Lane <[email protected]>
Reviewed-by: David Rowley <[email protected]>
Discussion: https://postgr.es/m/atLI5Kce2ie1zcYjU0w_kjtVaxiYbYGTihrkLDmGZQnRDD4pnXukIATaABbnIj9pUnelC4ESvCXMm4HA...
Backpatch-through: 16

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/fedfcf66506fa9bf2259a88ae711e7ad7bde0011

Modified Files
--------------
src/backend/parser/parse_agg.c           | 11 ++++++++++-
src/test/regress/expected/aggregates.out | 20 +++++++++++++++++++-
src/test/regress/sql/aggregates.sql      |  9 +++++++--
3 files changed, 36 insertions(+), 4 deletions(-)



^ permalink  raw  reply  [nested|flat] 3+ messages in thread

* pgsql: Don't try to parallelize array_agg() on an anonymous record type
@ 2025-03-09 17:11  Tom Lane <[email protected]>
  0 siblings, 0 replies; 3+ messages in thread

From: Tom Lane @ 2025-03-09 17:11 UTC (permalink / raw)
  To: [email protected]

Don't try to parallelize array_agg() on an anonymous record type.

This doesn't work because record_recv requires the typmod that
identifies the specific record type (in our session) and
array_agg_deserialize has no convenient way to get that information.
The result is an "input of anonymous composite types is not
implemented" error.

We could probably make this work if we had to, but it does not seem
worth the trouble, given that it took this long to get a field report.
Just shut off parallelization, as though record_recv didn't exist.

Oversight in commit 16fd03e95.  Back-patch to v16 where that
came in.

Reported-by: Kirill Zdornyy <[email protected]>
Diagnosed-by: Richard Guo <[email protected]>
Author: Tom Lane <[email protected]>
Reviewed-by: David Rowley <[email protected]>
Discussion: https://postgr.es/m/atLI5Kce2ie1zcYjU0w_kjtVaxiYbYGTihrkLDmGZQnRDD4pnXukIATaABbnIj9pUnelC4ESvCXMm4HA...
Backpatch-through: 16

Branch
------
REL_17_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/43847dd5e93816ef6e37dfb6c8bb7f98f48ddc01

Modified Files
--------------
src/backend/parser/parse_agg.c           | 11 ++++++++++-
src/test/regress/expected/aggregates.out | 20 +++++++++++++++++++-
src/test/regress/sql/aggregates.sql      |  9 +++++++--
3 files changed, 36 insertions(+), 4 deletions(-)



^ permalink  raw  reply  [nested|flat] 3+ messages in thread

* pgsql: Don't try to parallelize array_agg() on an anonymous record type
@ 2025-03-09 17:11  Tom Lane <[email protected]>
  0 siblings, 0 replies; 3+ messages in thread

From: Tom Lane @ 2025-03-09 17:11 UTC (permalink / raw)
  To: [email protected]

Don't try to parallelize array_agg() on an anonymous record type.

This doesn't work because record_recv requires the typmod that
identifies the specific record type (in our session) and
array_agg_deserialize has no convenient way to get that information.
The result is an "input of anonymous composite types is not
implemented" error.

We could probably make this work if we had to, but it does not seem
worth the trouble, given that it took this long to get a field report.
Just shut off parallelization, as though record_recv didn't exist.

Oversight in commit 16fd03e95.  Back-patch to v16 where that
came in.

Reported-by: Kirill Zdornyy <[email protected]>
Diagnosed-by: Richard Guo <[email protected]>
Author: Tom Lane <[email protected]>
Reviewed-by: David Rowley <[email protected]>
Discussion: https://postgr.es/m/atLI5Kce2ie1zcYjU0w_kjtVaxiYbYGTihrkLDmGZQnRDD4pnXukIATaABbnIj9pUnelC4ESvCXMm4HA...
Backpatch-through: 16

Branch
------
REL_16_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/a7aa9f21f23ead3e04b073de66fdb56f5eb765a2

Modified Files
--------------
src/backend/parser/parse_agg.c           | 11 ++++++++++-
src/test/regress/expected/aggregates.out | 20 +++++++++++++++++++-
src/test/regress/sql/aggregates.sql      |  9 +++++++--
3 files changed, 36 insertions(+), 4 deletions(-)



^ permalink  raw  reply  [nested|flat] 3+ messages in thread


end of thread, other threads:[~2025-03-09 17:11 UTC | newest]

Thread overview: 3+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2025-03-09 17:11 pgsql: Don't try to parallelize array_agg() on an anonymous record type Tom Lane <[email protected]>
2025-03-09 17:11 pgsql: Don't try to parallelize array_agg() on an anonymous record type Tom Lane <[email protected]>
2025-03-09 17:11 pgsql: Don't try to parallelize array_agg() on an anonymous record type Tom Lane <[email protected]>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox