postgres-github.git / summary / log / commit / refs

commit    6582010c801ff6f54215de45ad1afb3d9fd43bab
Author:   Tom Lane <tgl@sss.pgh.pa.us>
Date:     Mon Apr 06 17:14:50 2026 +0000

    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

[parent: 0442f1c9eff6]