From 2959213bf33cf7d2d1fc0b46c67d36254ffe043f Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Fri, 20 Oct 2017 09:40:17 -0400 Subject: [PATCH] pg_stat_statements: Add a comment about the dangers of padding bytes. Inspired by a patch from Julien Rouhaud, but I reworded it. Discussion: http://postgr.es/m/CAOBaU_a8AH8=ypfqgHnDYu06ts+jWTUgh=VgCxA3yNV-K10j9w@mail.gmail.com --- contrib/pg_stat_statements/pg_stat_statements.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/contrib/pg_stat_statements/pg_stat_statements.c b/contrib/pg_stat_statements/pg_stat_statements.c index b04b4d6ce1..3de8333be2 100644 --- a/contrib/pg_stat_statements/pg_stat_statements.c +++ b/contrib/pg_stat_statements/pg_stat_statements.c @@ -125,6 +125,11 @@ typedef enum pgssVersion /* * Hashtable key that defines the identity of a hashtable entry. We separate * queries by user and by database even if they are otherwise identical. + * + * Right now, this structure contains no padding. If you add any, make sure + * to teach pgss_store() to zero the padding bytes. Otherwise, things will + * break, because pgss_hash is created using HASH_BLOBS, and thus tag_hash + * is used to hash this. */ typedef struct pgssHashKey {