mirror of
https://github.com/postgres/postgres.git
synced 2025-11-19 13:42:17 +03:00
Get rid of long datatype in CATCACHE_STATS enabled builds
"long" is 32 bits on Windows 64-bit. Switch to a datatype that's 64-bit on all platforms. While we're there, use an unsigned type as these fields count things that have occurred, of which it's not possible to have negative numbers of. Author: David Rowley <dgrowleyml@gmail.com> Reviewed-by: Heikki Linnakangas <hlinnaka@iki.fi> Reviewed-by: Peter Eisentraut <peter@eisentraut.org> Discussion: https://postgr.es/m/CAApHDvoGFjSA3aNyVQ3ivbyc4ST=CC5L-_VjEUQ92HbE2Cxovg@mail.gmail.com
This commit is contained in:
26
src/backend/utils/cache/catcache.c
vendored
26
src/backend/utils/cache/catcache.c
vendored
@@ -461,14 +461,14 @@ static void
|
||||
CatCachePrintStats(int code, Datum arg)
|
||||
{
|
||||
slist_iter iter;
|
||||
long cc_searches = 0;
|
||||
long cc_hits = 0;
|
||||
long cc_neg_hits = 0;
|
||||
long cc_newloads = 0;
|
||||
long cc_invals = 0;
|
||||
long cc_nlists = 0;
|
||||
long cc_lsearches = 0;
|
||||
long cc_lhits = 0;
|
||||
uint64 cc_searches = 0;
|
||||
uint64 cc_hits = 0;
|
||||
uint64 cc_neg_hits = 0;
|
||||
uint64 cc_newloads = 0;
|
||||
uint64 cc_invals = 0;
|
||||
uint64 cc_nlists = 0;
|
||||
uint64 cc_lsearches = 0;
|
||||
uint64 cc_lhits = 0;
|
||||
|
||||
slist_foreach(iter, &CacheHdr->ch_caches)
|
||||
{
|
||||
@@ -476,7 +476,10 @@ CatCachePrintStats(int code, Datum arg)
|
||||
|
||||
if (cache->cc_ntup == 0 && cache->cc_searches == 0)
|
||||
continue; /* don't print unused caches */
|
||||
elog(DEBUG2, "catcache %s/%u: %d tup, %ld srch, %ld+%ld=%ld hits, %ld+%ld=%ld loads, %ld invals, %d lists, %ld lsrch, %ld lhits",
|
||||
elog(DEBUG2, "catcache %s/%u: %d tup, %" PRIu64 " srch, %" PRIu64 "+%"
|
||||
PRIu64 "=%" PRIu64 " hits, %" PRIu64 "+%" PRIu64 "=%"
|
||||
PRIu64 " loads, %" PRIu64 " invals, %d lists, %" PRIu64
|
||||
" lsrch, %" PRIu64 " lhits",
|
||||
cache->cc_relname,
|
||||
cache->cc_indexoid,
|
||||
cache->cc_ntup,
|
||||
@@ -500,7 +503,10 @@ CatCachePrintStats(int code, Datum arg)
|
||||
cc_lsearches += cache->cc_lsearches;
|
||||
cc_lhits += cache->cc_lhits;
|
||||
}
|
||||
elog(DEBUG2, "catcache totals: %d tup, %ld srch, %ld+%ld=%ld hits, %ld+%ld=%ld loads, %ld invals, %ld lists, %ld lsrch, %ld lhits",
|
||||
elog(DEBUG2, "catcache totals: %d tup, %" PRIu64 " srch, %" PRIu64 "+%"
|
||||
PRIu64 "=%" PRIu64 " hits, %" PRIu64 "+%" PRIu64 "=%" PRIu64
|
||||
" loads, %" PRIu64 " invals, %" PRIu64 " lists, %" PRIu64
|
||||
" lsrch, %" PRIu64 " lhits",
|
||||
CacheHdr->ch_ntup,
|
||||
cc_searches,
|
||||
cc_hits,
|
||||
|
||||
@@ -69,18 +69,18 @@ typedef struct catcache
|
||||
* 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 */
|
||||
long cc_neg_hits; /* # of matches against negative entry */
|
||||
long cc_newloads; /* # of successful loads of new entry */
|
||||
uint64 cc_searches; /* total # searches against this cache */
|
||||
uint64 cc_hits; /* # of matches against existing entry */
|
||||
uint64 cc_neg_hits; /* # of matches against negative entry */
|
||||
uint64 cc_newloads; /* # of successful loads of new entry */
|
||||
|
||||
/*
|
||||
* cc_searches - (cc_hits + cc_neg_hits + cc_newloads) is number of failed
|
||||
* searches, each of which will result in loading a negative entry
|
||||
*/
|
||||
long cc_invals; /* # of entries invalidated from cache */
|
||||
long cc_lsearches; /* total # list-searches */
|
||||
long cc_lhits; /* # of matches against existing lists */
|
||||
uint64 cc_invals; /* # of entries invalidated from cache */
|
||||
uint64 cc_lsearches; /* total # list-searches */
|
||||
uint64 cc_lhits; /* # of matches against existing lists */
|
||||
#endif
|
||||
} CatCache;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user