Hackers, Alvaro,

In src/backend/statistics/extended_stats.c, in statext_store, there is a 
section:

    Datum       values[Natts_pg_statistic_ext];
    bool        nulls[Natts_pg_statistic_ext];
    bool        replaces[Natts_pg_statistic_ext];

    memset(nulls, 1, Natts_pg_statistic_ext * sizeof(bool));
    memset(replaces, 0, Natts_pg_statistic_ext * sizeof(bool));
    memset(values, 0, Natts_pg_statistic_ext * sizeof(Datum));

It looks to me like Alvaro introduced this in the original version of the file 
which 
was created in commit 7b504eb282ca2f5104b5c00b4f05a3ef6bb1385b.  Grep'ing
through the code base, it seems the following would be more consistent with
how these initializations are handled elsewhere:

    Datum       values[Natts_pg_statistic_ext];
    bool        nulls[Natts_pg_statistic_ext];
    bool        replaces[Natts_pg_statistic_ext];

    memset(nulls, 1, sizeof(nulls));
    memset(replaces, 0, sizeof(replaces));
    memset(values, 0, sizeof(values));

Patch attached as 0001_extended_stats_sizeof.patch.1


mark

Attachment: 0001_extended_stats_sizeof.patch.1
Description: Binary data

Reply via email to