Skip to content

Commit c21054d

Browse files
committed
Add ReactiveConnection#isTransactionInProgress
1 parent 3b85f57 commit c21054d

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
@@ -189,6 +189,12 @@ public SessionImplementor getSharedContract() {
189189
return this;
190190
}
191191

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

0 commit comments

Comments
 (0)