From f3637f4898478ba516979e3f8d43285ceb02b9ba Mon Sep 17 00:00:00 2001 From: hvlad Date: Wed, 12 Apr 2017 18:42:06 +0300 Subject: [PATCH] Support for "read committed read consistency" mode in monitoring tables --- doc/README.monitoring_tables | 1 + src/jrd/Monitoring.cpp | 6 ++++-- src/jrd/constants.h | 3 ++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/doc/README.monitoring_tables b/doc/README.monitoring_tables index f8dcdacc74..431a4a5b6d 100644 --- a/doc/README.monitoring_tables +++ b/doc/README.monitoring_tables @@ -119,6 +119,7 @@ Monitoring tables 1: concurrency 2: read committed record version 3: read committed no record version + 4: read committed read consistency - MON$LOCK_TIMEOUT (lock timeout) -1: infinite wait 0: no wait diff --git a/src/jrd/Monitoring.cpp b/src/jrd/Monitoring.cpp index e1c65d47e2..bc88c4a4f8 100644 --- a/src/jrd/Monitoring.cpp +++ b/src/jrd/Monitoring.cpp @@ -978,8 +978,10 @@ void Monitoring::putTransaction(SnapshotData::DumpRecord& record, const jrd_tra* temp = iso_mode_consistency; else if (transaction->tra_flags & TRA_read_committed) { - temp = (transaction->tra_flags & TRA_rec_version) ? - iso_mode_rc_version : iso_mode_rc_no_version; + temp = (transaction->tra_flags & TRA_read_consistency) ? + iso_mode_rc_read_consistency : + (transaction->tra_flags & TRA_rec_version) ? + iso_mode_rc_version : iso_mode_rc_no_version; } else temp = iso_mode_concurrency; diff --git a/src/jrd/constants.h b/src/jrd/constants.h index 739cd7e7c5..f070a8b1d9 100644 --- a/src/jrd/constants.h +++ b/src/jrd/constants.h @@ -265,7 +265,8 @@ enum tra_iso_mode_t { iso_mode_consistency = 0, iso_mode_concurrency = 1, iso_mode_rc_version = 2, - iso_mode_rc_no_version = 3 + iso_mode_rc_no_version = 3, + iso_mode_rc_read_consistency = 4 }; // statistics groups