From e2117e4ab0d7fcb76f20cbf2e52541998d639d9e Mon Sep 17 00:00:00 2001 From: Tom Lane <tgl@sss.pgh.pa.us> Date: Thu, 12 Jan 2017 18:59:46 -0500 Subject: [PATCH] Fix field order in struct catcache. Somebody failed to grasp the point of having the #ifdef CATCACHE_STATS fields at the end of the struct. Put that back the way it should be, and add a comment making it more explicit why it should be that way. --- src/include/utils/catcache.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/include/utils/catcache.h b/src/include/utils/catcache.h index 2cee8b85f59..299d2465851 100644 --- a/src/include/utils/catcache.h +++ b/src/include/utils/catcache.h @@ -52,6 +52,12 @@ typedef struct catcache * heap scans */ bool cc_isname[CATCACHE_MAXKEYS]; /* flag "name" key columns */ dlist_head cc_lists; /* list of CatCList structs */ + dlist_head *cc_bucket; /* hash buckets */ + + /* + * Keep these at the end, so that compiling catcache.c with CATCACHE_STATS + * doesn't break ABI for other modules + */ #ifdef CATCACHE_STATS long cc_searches; /* total # searches against this cache */ long cc_hits; /* # of matches against existing entry */ @@ -66,7 +72,6 @@ typedef struct catcache long cc_lsearches; /* total # list-searches */ long cc_lhits; /* # of matches against existing lists */ #endif - dlist_head *cc_bucket; /* hash buckets */ } CatCache; -- GitLab