git.postgresql.org Git - postgresql.git/commit

git projects / postgresql.git / commit
? search:
summary | shortlog | log | commit | commitdiff | tree
(parent: 5a3a953) | patch
Allow parallel aggregate on string_agg and array_agg
2023年1月23日 04:35:01 +0000 (17:35 +1300)
2023年1月23日 04:35:01 +0000 (17:35 +1300)
commit 16fd03e956540d1b47b743f6a84f37c54ac93dd4
Allow parallel aggregate on string_agg and array_agg

This adds combine, serial and deserial functions for the array_agg() and
string_agg() aggregate functions, thus allowing these aggregates to
partake in partial aggregations. This allows both parallel aggregation to
take place when these aggregates are present and also allows additional
partition-wise aggregation plan shapes to include plans that require
additional aggregation once the partially aggregated results from the
partitions have been combined.

Author: David Rowley
Reviewed-by: Andres Freund, Tomas Vondra, Stephen Frost, Tom Lane
Discussion: https://postgr.es/m/CAKJS1f9sx_6GTcvd6TMuZnNtCh0VhBzhX6FZqw17TgVFH-ga_A@mail.gmail.com
13 files changed:
doc/src/sgml/func.sgml diff | blob | blame | history
src/backend/optimizer/prep/prepagg.c diff | blob | blame | history
src/backend/parser/parse_agg.c diff | blob | blame | history
src/backend/utils/adt/array_userfuncs.c diff | blob | blame | history
src/backend/utils/adt/arrayfuncs.c diff | blob | blame | history
src/backend/utils/adt/varlena.c diff | blob | blame | history
src/include/catalog/catversion.h diff | blob | blame | history
src/include/catalog/pg_aggregate.dat diff | blob | blame | history
src/include/catalog/pg_proc.dat diff | blob | blame | history
src/include/parser/parse_agg.h diff | blob | blame | history
src/include/utils/array.h diff | blob | blame | history
src/test/regress/expected/aggregates.out diff | blob | blame | history
src/test/regress/sql/aggregates.sql diff | blob | blame | history
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /