Skip to content

Commit 3f075a4

Browse files
committed
[#2640] Add ReactiveConnection#isTransactionInProgress
1 parent da36409 commit 3f075a4

File tree

4 files changed

+18
-0
lines changed

4 files changed

+18
-0
lines changed

hibernate-reactive-core/src/main/java/org/hibernate/reactive/pool/BatchingConnection.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,11 @@ public DatabaseMetadata getDatabaseMetadata() {
5252
return delegate.getDatabaseMetadata();
5353
}
5454

55+
@Override
56+
public boolean isTransactionInProgress() {
57+
return delegate.isTransactionInProgress();
58+
}
59+
5560
@Override
5661
public ReactiveConnection withBatchSize(int batchSize) {
5762
if ( batchSize <= 1 ) {

hibernate-reactive-core/src/main/java/org/hibernate/reactive/pool/ReactiveConnection.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@
3030
@Incubating
3131
public interface ReactiveConnection {
3232

33+
boolean isTransactionInProgress();
34+
3335
@FunctionalInterface
3436
interface Expectation {
3537
void verifyOutcome(int rowCount, int batchPosition, String sql);

hibernate-reactive-core/src/main/java/org/hibernate/reactive/pool/impl/SqlClientConnection.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,11 @@ public DatabaseMetadata getDatabaseMetadata() {
7474
return client().databaseMetadata();
7575
}
7676

77+
@Override
78+
public boolean isTransactionInProgress() {
79+
return connection.transaction() != null;
80+
}
81+
7782
@Override
7883
public CompletionStage<Integer> update(String sql, Object[] paramValues) {
7984
translateNulls( paramValues );

hibernate-reactive-core/src/main/java/org/hibernate/reactive/session/impl/ReactiveSessionImpl.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,12 @@ public SessionImplementor getSharedContract() {
190190
return this;
191191
}
192192

193+
@Override
194+
public boolean isTransactionInProgress() {
195+
return isOpenOrWaitingForAutoClose()
196+
&& reactiveConnection.isTransactionInProgress();
197+
}
198+
193199
@Override
194200
public Dialect getDialect() {
195201
threadCheck();

0 commit comments

Comments
 (0)