• N
    Cooperate with the Valgrind instrumentation framework. · 19085116
    Noah Misch 提交于
    Valgrind "client requests" in aset.c and mcxt.c teach Valgrind and its
    Memcheck tool about the PostgreSQL allocator.  This makes Valgrind
    roughly as sensitive to memory errors involving palloc chunks as it is
    to memory errors involving malloc chunks.  Further client requests in
    PageAddItem() and printtup() verify that all bits being added to a
    buffer page or furnished to an output function are predictably-defined.
    Those tests catch failures of C-language functions to fully initialize
    the bits of a Datum, which in turn stymie optimizations that rely on
    _equalConst().  Define the USE_VALGRIND symbol in pg_config_manual.h to
    enable these additions.  An included "suppression file" silences nominal
    errors we don't plan to fix.
    
    Reviewed in earlier versions by Peter Geoghegan and Korry Douglas.
    19085116
aset.c 41.3 KB