@@ -29,8 +29,15 @@ void CheckAborted(Transaction *txn) { EXPECT_EQ(txn->GetState(), TransactionStat
2929void CheckCommitted (Transaction *txn) { EXPECT_EQ (txn->GetState (), TransactionState::COMMITTED); }
3030
3131void CheckTxnRowLockSize (Transaction *txn, table_oid_t oid, size_t shared_size, size_t exclusive_size) {
32- EXPECT_EQ ((*(txn->GetSharedRowLockSet ()))[oid].size (), shared_size);
33- EXPECT_EQ ((*(txn->GetExclusiveRowLockSet ()))[oid].size (), exclusive_size);
32+ bool correct = true ;
33+ correct = correct && (*txn->GetSharedRowLockSet ())[oid].size () == shared_size;
34+ correct = correct && (*txn->GetExclusiveRowLockSet ())[oid].size () == exclusive_size;
35+ if (!correct) {
36+ fmt::print (" row lock size incorrect for txn={} oid={}: expected (S={} X={}), actual (S={} X={})\n " ,
37+ txn->GetTransactionId (), oid, shared_size, exclusive_size, (*txn->GetSharedRowLockSet ())[oid].size (),
38+ (*txn->GetExclusiveRowLockSet ())[oid].size ());
39+ }
40+ EXPECT_TRUE (correct);
3441}
3542
3643int GetTxnTableLockSize (Transaction *txn, LockManager::LockMode lock_mode) {
@@ -52,11 +59,22 @@ int GetTxnTableLockSize(Transaction *txn, LockManager::LockMode lock_mode) {
5259
5360void CheckTableLockSizes (Transaction *txn, size_t s_size, size_t x_size, size_t is_size, size_t ix_size,
5461 size_t six_size) {
55- EXPECT_EQ (s_size, txn->GetSharedTableLockSet ()->size ());
56- EXPECT_EQ (x_size, txn->GetExclusiveTableLockSet ()->size ());
57- EXPECT_EQ (is_size, txn->GetIntentionSharedTableLockSet ()->size ());
58- EXPECT_EQ (ix_size, txn->GetIntentionExclusiveTableLockSet ()->size ());
59- EXPECT_EQ (six_size, txn->GetSharedIntentionExclusiveTableLockSet ()->size ());
62+ bool correct = true ;
63+ correct = correct && s_size == txn->GetSharedTableLockSet ()->size ();
64+ correct = correct && x_size == txn->GetExclusiveTableLockSet ()->size ();
65+ correct = correct && is_size == txn->GetIntentionSharedTableLockSet ()->size ();
66+ correct = correct && ix_size == txn->GetIntentionExclusiveTableLockSet ()->size ();
67+ correct = correct && six_size == txn->GetSharedIntentionExclusiveTableLockSet ()->size ();
68+ if (!correct) {
69+ fmt::print (
70+ " table lock size incorrect for txn={}: expected (S={} X={}, IS={}, IX={}, SIX={}), actual (S={} X={}, IS={}, "
71+ " IX={}, "
72+ " SIX={})\n " ,
73+ txn->GetTransactionId (), s_size, x_size, is_size, ix_size, six_size, txn->GetSharedTableLockSet ()->size (),
74+ txn->GetExclusiveTableLockSet ()->size (), txn->GetIntentionSharedTableLockSet ()->size (),
75+ txn->GetIntentionExclusiveTableLockSet ()->size (), txn->GetSharedIntentionExclusiveTableLockSet ()->size ());
76+ }
77+ EXPECT_TRUE (correct);
6078}
6179
6280void TableLockTest1 () {
0 commit comments