*/
static TransactionId standbySnapshotPendingXmin;
-#ifdef XIDCACHE_DEBUG
-
-/* counters for XidCache measurement */
-static long xc_by_recent_xmin = 0;
-static long xc_by_known_xact = 0;
-static long xc_by_my_xact = 0;
-static long xc_by_latest_xid = 0;
-static long xc_by_main_xid = 0;
-static long xc_by_child_xid = 0;
-static long xc_by_known_assigned = 0;
-static long xc_no_overflow = 0;
-static long xc_slow_answer = 0;
-
-#define xc_by_recent_xmin_inc() (xc_by_recent_xmin++)
-#define xc_by_known_xact_inc() (xc_by_known_xact++)
-#define xc_by_my_xact_inc() (xc_by_my_xact++)
-#define xc_by_latest_xid_inc() (xc_by_latest_xid++)
-#define xc_by_main_xid_inc() (xc_by_main_xid++)
-#define xc_by_child_xid_inc() (xc_by_child_xid++)
-#define xc_by_known_assigned_inc() (xc_by_known_assigned++)
-#define xc_no_overflow_inc() (xc_no_overflow++)
-#define xc_slow_answer_inc() (xc_slow_answer++)
-
-static void DisplayXidCache(void);
-#else /* !XIDCACHE_DEBUG */
-
-#define xc_by_recent_xmin_inc() ((void) 0)
-#define xc_by_known_xact_inc() ((void) 0)
-#define xc_by_my_xact_inc() ((void) 0)
-#define xc_by_latest_xid_inc() ((void) 0)
-#define xc_by_main_xid_inc() ((void) 0)
-#define xc_by_child_xid_inc() ((void) 0)
-#define xc_by_known_assigned_inc() ((void) 0)
-#define xc_no_overflow_inc() ((void) 0)
-#define xc_slow_answer_inc() ((void) 0)
-#endif /* XIDCACHE_DEBUG */
-
/* Primitives for KnownAssignedXids array handling for standby */
static void KnownAssignedXidsCompress(bool force);
static void KnownAssignedXidsAdd(TransactionId from_xid, TransactionId to_xid,
LWLockRelease(ProcArrayLock);
}
-#ifdef XIDCACHE_DEBUG
-
-/*
- * Print stats about effectiveness of XID cache
- */
-static void
-DisplayXidCache(void)
-{
- fprintf(stderr,
- "XidCache: xmin: %ld, known: %ld, myxact: %ld, latest: %ld, mainxid: %ld, childxid: %ld, knownassigned: %ld, nooflo: %ld, slow: %ld\n",
- xc_by_recent_xmin,
- xc_by_known_xact,
- xc_by_my_xact,
- xc_by_latest_xid,
- xc_by_main_xid,
- xc_by_child_xid,
- xc_by_known_assigned,
- xc_no_overflow,
- xc_slow_answer);
-}
-#endif /* XIDCACHE_DEBUG */
-
/* ----------------------------------------------
* KnownAssignedTransactions sub-module
#define xc_by_old_parent_inc() (xc_by_old_parent_inc++);
#define xc_by_parent_bsearch_inc() (xc_by_parent_bsearch_inc++);
-static void DisplayXidCache(void);
#else /* !XIDCACHE_DEBUG */
#define xc_by_recent_xmin_inc() ((void) 0)
else
return -1;
}
+
+#ifdef XIDCACHE_DEBUG
+/*
+ * Print stats about effectiveness of XID cache
+ */
+void
+DisplayXidCache(void)
+{
+ fprintf(stderr,
+ "XidCache: xmin: %ld, known: %ld, myxact: %ld, latest: %ld, earliest: %ld, bsearch: %ld, nooflo: %ld, abort: %ld, notsubxact: %ld, oldparent: %ld, parentbsearch: %ld\n",
+ xc_by_recent_xmin,
+ xc_by_known_xact,
+ xc_by_my_xact,
+ xc_by_latest_xid,
+ xc_by_earliest_xid,
+ xc_by_bsearch_inc,
+ xc_by_no_overflow_inc,
+ xc_by_abort_inc,
+ xc_by_not_subxact_inc,
+ xc_by_old_parent_inc,
+ xc_by_parent_bsearch_inc);
+}
+#endif /* XIDCACHE_DEBUG */