Skip to content

Commit 005d3e3

Browse files
committed
HHH-19477 Test aggressive release mode for HQL queries
1 parent e09d58d commit 005d3e3

File tree

1 file changed

+20
-4
lines changed

1 file changed

+20
-4
lines changed

hibernate-core/src/test/java/org/hibernate/orm/test/jdbc/internal/AggressiveReleaseTest.java

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import org.hibernate.testing.boot.BasicTestingJdbcServiceImpl;
2222
import org.hibernate.testing.orm.junit.BaseSessionFactoryFunctionalTest;
23+
import org.hibernate.testing.orm.junit.Jira;
2324
import org.hibernate.testing.orm.junit.RequiresDialect;
2425
import org.hibernate.testing.orm.jdbc.PreparedStatementSpyConnectionProvider;
2526
import org.junit.jupiter.api.AfterEach;
@@ -118,9 +119,9 @@ protected void cleanupTest() throws Exception {
118119

119120
@Test
120121
public void testBasicRelease() {
121-
connectionProvider.clear();
122122
ResourceRegistry registry = sessionFactoryScope().fromSession(
123123
session -> {
124+
connectionProvider.clear();
124125
JdbcCoordinatorImpl jdbcCoord = (JdbcCoordinatorImpl) session.getJdbcCoordinator();
125126
ResourceRegistry resourceRegistry = jdbcCoord.getLogicalConnection().getResourceRegistry();
126127
try {
@@ -154,9 +155,9 @@ public void testBasicRelease() {
154155

155156
@Test
156157
public void testReleaseCircumventedByHeldResources() {
157-
connectionProvider.clear();
158158
ResourceRegistry registry = sessionFactoryScope().fromSession(
159159
session -> {
160+
connectionProvider.clear();
160161
JdbcCoordinatorImpl jdbcCoord = (JdbcCoordinatorImpl) session.getJdbcCoordinator();
161162
ResourceRegistry resourceRegistry = jdbcCoord.getLogicalConnection().getResourceRegistry();
162163

@@ -217,10 +218,9 @@ public void testReleaseCircumventedByHeldResources() {
217218

218219
@Test
219220
public void testReleaseCircumventedManually() {
220-
connectionProvider.clear();
221-
connectionProvider.clear();
222221
ResourceRegistry registry = sessionFactoryScope().fromSession(
223222
session -> {
223+
connectionProvider.clear();
224224
JdbcCoordinatorImpl jdbcCoord = (JdbcCoordinatorImpl) session.getJdbcCoordinator();
225225
ResourceRegistry resourceRegistry = jdbcCoord.getLogicalConnection().getResourceRegistry();
226226

@@ -271,4 +271,20 @@ public void testReleaseCircumventedManually() {
271271
assertEquals( 0, connectionProvider.getAcquiredConnections().size() );
272272
assertEquals( 2, connectionProvider.getReleasedConnections().size() );
273273
}
274+
275+
@Test
276+
@Jira("https://hibernate.atlassian.net/browse/HHH-19477")
277+
public void testHql() {
278+
sessionFactoryScope().inTransaction( session -> {
279+
connectionProvider.clear();
280+
JdbcCoordinatorImpl jdbcCoord = (JdbcCoordinatorImpl) session.getJdbcCoordinator();
281+
ResourceRegistry resourceRegistry = jdbcCoord.getLogicalConnection().getResourceRegistry();
282+
283+
session.createSelectionQuery( "select 1" ).uniqueResult();
284+
285+
assertFalse( resourceRegistry.hasRegisteredResources() );
286+
assertEquals( 0, connectionProvider.getAcquiredConnections().size() );
287+
assertEquals( 1, connectionProvider.getReleasedConnections().size() );
288+
} );
289+
}
274290
}

0 commit comments

Comments
 (0)