Skip to content

Commit 8133698

Browse files
committed
HHH-19477 Test aggressive release mode for HQL queries
1 parent 09b6bf8 commit 8133698

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
@@ -18,6 +18,7 @@
1818

1919
import org.hibernate.testing.boot.BasicTestingJdbcServiceImpl;
2020
import org.hibernate.testing.orm.junit.BaseSessionFactoryFunctionalTest;
21+
import org.hibernate.testing.orm.junit.Jira;
2122
import org.hibernate.testing.orm.junit.RequiresDialect;
2223
import org.hibernate.testing.orm.jdbc.PreparedStatementSpyConnectionProvider;
2324
import org.junit.jupiter.api.AfterEach;
@@ -116,9 +117,9 @@ protected void cleanupTest() throws Exception {
116117

117118
@Test
118119
public void testBasicRelease() {
119-
connectionProvider.clear();
120120
ResourceRegistry registry = sessionFactoryScope().fromSession(
121121
session -> {
122+
connectionProvider.clear();
122123
JdbcCoordinatorImpl jdbcCoord = (JdbcCoordinatorImpl) session.getJdbcCoordinator();
123124
ResourceRegistry resourceRegistry = jdbcCoord.getLogicalConnection().getResourceRegistry();
124125
try {
@@ -153,9 +154,9 @@ public void testBasicRelease() {
153154

154155
@Test
155156
public void testReleaseCircumventedByHeldResources() {
156-
connectionProvider.clear();
157157
ResourceRegistry registry = sessionFactoryScope().fromSession(
158158
session -> {
159+
connectionProvider.clear();
159160
JdbcCoordinatorImpl jdbcCoord = (JdbcCoordinatorImpl) session.getJdbcCoordinator();
160161
ResourceRegistry resourceRegistry = jdbcCoord.getLogicalConnection().getResourceRegistry();
161162

@@ -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

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

0 commit comments

Comments
 (0)