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

commit    9c18b47e61071cf1395620f182b07a7ab9aac263
Author:   Tomas Vondra <tomas.vondra@postgresql.org>
Date:     Tue Apr 07 10:47:04 2026 +0000

    Fix BitmapHeapScan non-parallel-aware EXPLAIN ANALYZE
    
    Allocates shared bitmap table scan instrumentation for all parallel
    scans. Previously, the instrumentation was only allocated for
    parallel-aware scans, other bitmap heap scans in the parallel query had
    no shared instrumentation and EXPLAIN didn't report exact/lossy pages.
    This affected cases like scans on the outside of a parallel join or
    queries run with debug_parallel_query=regress.
    
    Fixed by allocating a separate DSM chunk for shared instrumentation and
    doing so regardless of parallel-awareness. The instrumentation is
    allocated in its own DSM chunk, separate from ParallelBitmapHeapState.
    
    Report an initial patch by me. The approach with a separate DSM was
    proposed and implemented by Melanie.
    
    Not backpatched. The issue affects Postgres 18 (since 5a1e6df3b84c), but
    having multiple DSM chunks is possible only since dd78e69cfc33. If we
    decide to fix this in backbranches too, it will need to be done in a
    less invasive way.
    
    Author: Melanie Plageman <melanieplageman@gmail.com>
    Reviewed-by: Tomas Vondra <tomas@vondra.me>
    Reviewed-by: Lukas Fittl <lukas@fittl.com>
    Discussion: https://postgr.es/m/flat/a177a6dd-240b-455a-8f25-aca0b1c08c6e%40vondra.me

[parent: 0d3dba38c777]