Skip to content

Commit c2034b3

Browse files
committed
HHH-19477 Test aggressive release mode for HQL queries
1 parent 1866e3d commit c2034b3

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 {
@@ -155,9 +156,9 @@ public void testBasicRelease() {
155156

156157
@Test
157158
public void testReleaseCircumventedByHeldResources() {
158-
connectionProvider.clear();
159159
ResourceRegistry registry = sessionFactoryScope().fromSession(
160160
session -> {
161+
connectionProvider.clear();
161162
JdbcCoordinatorImpl jdbcCoord = (JdbcCoordinatorImpl) session.getJdbcCoordinator();
162163
ResourceRegistry resourceRegistry = jdbcCoord.getLogicalConnection().getResourceRegistry();
163164

@@ -219,10 +220,9 @@ public void testReleaseCircumventedByHeldResources() {
219220

220221
@Test
221222
public void testReleaseCircumventedManually() {
222-
connectionProvider.clear();
223-
connectionProvider.clear();
224223
ResourceRegistry registry = sessionFactoryScope().fromSession(
225224
session -> {
225+
connectionProvider.clear();
226226
JdbcCoordinatorImpl jdbcCoord = (JdbcCoordinatorImpl) session.getJdbcCoordinator();
227227
ResourceRegistry resourceRegistry = jdbcCoord.getLogicalConnection().getResourceRegistry();
228228

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

0 commit comments

Comments
 (0)