summaryrefslogtreecommitdiff
path: root/src/main/java/com/amazon/carbonado/txn/TransactionScope.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/amazon/carbonado/txn/TransactionScope.java')
-rw-r--r--src/main/java/com/amazon/carbonado/txn/TransactionScope.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/main/java/com/amazon/carbonado/txn/TransactionScope.java b/src/main/java/com/amazon/carbonado/txn/TransactionScope.java
index 4def72d..61f4b6a 100644
--- a/src/main/java/com/amazon/carbonado/txn/TransactionScope.java
+++ b/src/main/java/com/amazon/carbonado/txn/TransactionScope.java
@@ -193,6 +193,19 @@ public class TransactionScope<Txn> {
mLock.unlock();
}
}
+
+ /**
+ * Returns the implementation for the active transaction, only if it exists.
+ */
+ Txn getActiveTxn() {
+ mLock.lock();
+ try {
+ checkClosed();
+ return mActive == null ? null : mActive.getActiveTxn();
+ } finally {
+ mLock.unlock();
+ }
+ }
/**
* Returns true if an active transaction exists and it is for update.
@@ -501,6 +514,11 @@ public class TransactionScope<Txn> {
}
// Caller must hold mLock.
+ Txn getActiveTxn() {
+ return mTxn;
+ }
+
+ // Caller must hold mLock.
private void closeCursors() throws PersistException {
if (mCursorList != null) {
mCursorList.closeCursors();