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
0001_extended_stats_sizeof.patch.1
Description: Binary data