pgsql: Fix null-bitmap combining in array_agg_array_combine().
| От | Tom Lane |
|---|---|
| Тема | pgsql: Fix null-bitmap combining in array_agg_array_combine(). |
| Дата | |
| Msg-id | E1w9nXa-003GPp-12@gemulon.postgresql.org обсуждение |
| Список | pgsql-committers |
Fix null-bitmap combining in array_agg_array_combine(). This code missed the need to update the combined state's nullbitmap if state1 already had a bitmap but state2 didn't. We need to extend the existing bitmap with 1's but didn't. This could result in wrong output from a parallelized array_agg(anyarray) calculation, if the input has a mix of null and non-null elements. The errors depended on timing of the parallel workers, and therefore would vary from one run to another. Also install guards against integer overflow when calculating the combined object's sizes, and make some trivial cosmetic improvements. Author: Dmytro Astapov <dastapov@gmail.com> Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/CAFQUnFj2pQ1HbGp69+w2fKqARSfGhAi9UOb+JjyExp7kx3gsqA@mail.gmail.com Backpatch-through: 16 Branch ------ REL_18_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/14bf2c39ee2f7e8e1ab989aacb55259fd1b70691 Modified Files -------------- src/backend/utils/adt/array_userfuncs.c | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-)
В списке pgsql-committers по дате отправления: