Transactions now get closed with the database
This commit is contained in:
parent
56d35d4832
commit
68ea7df6a9
9 changed files with 118 additions and 34 deletions
|
@ -279,3 +279,26 @@ TEST_F(CacheTransactionsTest, RAIIResourceFree) {
|
|||
EXPECT_EQ(c1->getRecord(221), 14);
|
||||
}
|
||||
|
||||
TEST_F(CacheTransactionsTest, TransactionTerminationOnClose) {
|
||||
LMDBAL::WriteTransaction txn = db->beginTransaction();
|
||||
|
||||
c1->addRecord(578, 4552, txn);
|
||||
|
||||
EXPECT_EQ(c1->getRecord(578, txn), 4552);
|
||||
EXPECT_EQ(c1->checkRecord(578), false);
|
||||
|
||||
db->close();
|
||||
db->open();
|
||||
|
||||
EXPECT_EQ(txn.isActive(), false);
|
||||
EXPECT_THROW(c1->getRecord(578, txn), LMDBAL::TransactionTerminated);
|
||||
EXPECT_NO_THROW(txn.commit());
|
||||
|
||||
EXPECT_EQ(c1->checkRecord(578), false);
|
||||
|
||||
txn = db->beginTransaction();
|
||||
c1->addRecord(578, 4552, txn);
|
||||
txn.commit();
|
||||
|
||||
EXPECT_EQ(c1->getRecord(578), 4552);
|
||||
}
|
||||
|
|
|
@ -277,3 +277,27 @@ TEST_F(StorageTransactionsTest, RAIIResourceFree) {
|
|||
std::cout << "checking the final result" << std::endl;
|
||||
EXPECT_EQ(t1->getRecord(221), 14);
|
||||
}
|
||||
|
||||
TEST_F(StorageTransactionsTest, TransactionTerminationOnClose) {
|
||||
LMDBAL::WriteTransaction txn = db->beginTransaction();
|
||||
|
||||
t1->addRecord(543, 229, txn);
|
||||
|
||||
EXPECT_EQ(t1->getRecord(543, txn), 229);
|
||||
EXPECT_EQ(t1->checkRecord(543), false);
|
||||
|
||||
db->close();
|
||||
db->open();
|
||||
|
||||
EXPECT_EQ(txn.isActive(), false);
|
||||
EXPECT_THROW(t1->getRecord(543, txn), LMDBAL::TransactionTerminated);
|
||||
EXPECT_NO_THROW(txn.commit());
|
||||
|
||||
EXPECT_EQ(t1->checkRecord(543), false);
|
||||
|
||||
txn = db->beginTransaction();
|
||||
t1->addRecord(543, 229, txn);
|
||||
txn.commit();
|
||||
|
||||
EXPECT_EQ(t1->getRecord(543), 229);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue