Skip to content

Commit 7f67e1d

Browse files
committed
Applied Suggested Changes from Code Review
1 parent 6cf3908 commit 7f67e1d

File tree

8 files changed

+29
-17
lines changed

8 files changed

+29
-17
lines changed

hibernate-core/src/test/java/org/hibernate/orm/test/filter/DynamicFilterTest.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,13 @@
2323
import org.hibernate.cache.spi.access.CollectionDataAccess;
2424
import org.hibernate.cache.spi.entry.CollectionCacheEntry;
2525
import org.hibernate.cfg.AvailableSettings;
26-
import org.hibernate.community.dialect.InformixDialect;
2726
import org.hibernate.persister.collection.CollectionPersister;
2827
import org.hibernate.query.Query;
2928

3029
import org.hibernate.testing.DialectChecks;
3130
import org.hibernate.testing.RequiresDialectFeature;
3231
import org.hibernate.testing.orm.junit.JiraKey;
3332
import org.hibernate.testing.junit4.BaseNonConfigCoreFunctionalTestCase;
34-
import org.hibernate.testing.orm.junit.SkipForDialect;
3533
import org.junit.After;
3634
import org.junit.Before;
3735
import org.junit.Test;
@@ -685,7 +683,7 @@ public void testFilterApplicationOnHqlQueryWithImplicitSubqueryContainingNamedPa
685683
}
686684

687685
@Test
688-
@SkipForDialect( dialectClass = InformixDialect.class, majorVersion = 12, matchSubTypes = true, reason = "Informix does not support table alliases in update/delete statements, Issue HHH-18473")
686+
@RequiresDialectFeature(DialectChecks.SupportsDmlTargetColumnQualifier.class)
689687
public void testFiltersOnSimpleHqlDelete() {
690688
Salesperson sp = new Salesperson();
691689
Salesperson sp2 = new Salesperson();
@@ -711,7 +709,7 @@ public void testFiltersOnSimpleHqlDelete() {
711709
}
712710

713711
@Test
714-
@SkipForDialect( dialectClass = InformixDialect.class, majorVersion = 12, matchSubTypes = true, reason = "Informix does not support table alliases in update/delete statements, Issue HHH-18473")
712+
@RequiresDialectFeature(DialectChecks.SupportsDmlTargetColumnQualifier.class)
715713
public void testFiltersOnMultiTableHqlDelete() {
716714
Salesperson sp = new Salesperson();
717715
Salesperson sp2 = new Salesperson();

hibernate-core/src/test/java/org/hibernate/orm/test/mapping/basic/BooleanMappingTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ public void testNegatedCriteriaUsage(SessionFactoryScope scope) {
315315
private int countByCriteria(String attributeName, boolean matchValue, SessionImplementor session) {
316316
final HibernateCriteriaBuilder builder = session.getCriteriaBuilder();
317317
final JpaCriteriaQuery<Long> criteria = builder.createQuery( Long.class );
318-
criteria.select( builder.count( builder.literal( "*" ) ) );
318+
criteria.select( builder.count() );
319319
final JpaRoot<EntityOfBooleans> root = criteria.from( EntityOfBooleans.class );
320320
final JpaPath<Boolean> convertedYesNo = root.get( attributeName );
321321
if ( matchValue ) {

hibernate-core/src/test/java/org/hibernate/orm/test/query/QueryTimeOutTest.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
import java.util.Map;
1111

1212
import org.hibernate.cfg.AvailableSettings;
13-
import org.hibernate.community.dialect.InformixDialect;
1413
import org.hibernate.dialect.AbstractTransactSQLDialect;
14+
import org.hibernate.dialect.DmlTargetColumnQualifierSupport;
1515
import org.hibernate.dialect.OracleDialect;
1616
import org.hibernate.dialect.SybaseDialect;
1717
import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider;
@@ -79,8 +79,7 @@ else if ( DialectContext.getDialect() instanceof SybaseDialect ) {
7979
else if ( DialectContext.getDialect() instanceof AbstractTransactSQLDialect ) {
8080
baseQuery = "update ae1_0 set name=? from AnEntity ae1_0";
8181
}
82-
else if (DialectContext.getDialect() instanceof InformixDialect && DialectContext.getDialect().getVersion()
83-
.isBefore(12, 10)) {
82+
else if ( DialectContext.getDialect().getDmlTargetColumnQualifierSupport() == DmlTargetColumnQualifierSupport.NONE ) {
8483
baseQuery = "update AnEntity set name=?";
8584
}
8685
else {

hibernate-core/src/test/java/org/hibernate/orm/test/query/mutationquery/MutationQueriesFilterTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@
88

99
import org.hibernate.annotations.Filter;
1010
import org.hibernate.annotations.FilterDef;
11-
import org.hibernate.community.dialect.InformixDialect;
1211
import org.hibernate.query.MutationQuery;
1312

1413
import org.hibernate.testing.jdbc.SQLStatementInspector;
14+
import org.hibernate.testing.orm.junit.DialectFeatureChecks;
1515
import org.hibernate.testing.orm.junit.DomainModel;
1616
import org.hibernate.testing.orm.junit.Jira;
17+
import org.hibernate.testing.orm.junit.RequiresDialectFeature;
1718
import org.hibernate.testing.orm.junit.SessionFactory;
1819
import org.hibernate.testing.orm.junit.SessionFactoryScope;
19-
import org.hibernate.testing.orm.junit.SkipForDialect;
2020
import org.junit.jupiter.api.Test;
2121

2222
import jakarta.persistence.Column;
@@ -49,7 +49,7 @@
4949
MutationQueriesFilterTest.RoleEntity.class
5050
} )
5151
@Jira( "https://hibernate.atlassian.net/browse/HHH-16392" )
52-
@SkipForDialect( dialectClass = InformixDialect.class, majorVersion = 12, matchSubTypes = true, reason = "Informix does not support table alliases in update/delete statements, Issue HHH-18473")
52+
@RequiresDialectFeature( feature = DialectFeatureChecks.SupportsDmlTargetColumnQualifier.class )
5353
public class MutationQueriesFilterTest {
5454
@Test
5555
public void testDelete(SessionFactoryScope scope) {

hibernate-core/src/test/java/org/hibernate/orm/test/query/mutationquery/MutationQueriesWhereAndFilterTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@
99
import org.hibernate.annotations.Filter;
1010
import org.hibernate.annotations.FilterDef;
1111
import org.hibernate.annotations.SQLRestriction;
12-
import org.hibernate.community.dialect.InformixDialect;
1312
import org.hibernate.query.MutationQuery;
1413

1514
import org.hibernate.testing.jdbc.SQLStatementInspector;
15+
import org.hibernate.testing.orm.junit.DialectFeatureChecks;
1616
import org.hibernate.testing.orm.junit.DomainModel;
1717
import org.hibernate.testing.orm.junit.Jira;
18+
import org.hibernate.testing.orm.junit.RequiresDialectFeature;
1819
import org.hibernate.testing.orm.junit.SessionFactory;
1920
import org.hibernate.testing.orm.junit.SessionFactoryScope;
20-
import org.hibernate.testing.orm.junit.SkipForDialect;
2121
import org.junit.jupiter.api.Test;
2222

2323
import jakarta.persistence.Column;
@@ -50,7 +50,7 @@
5050
MutationQueriesWhereAndFilterTest.RoleEntity.class
5151
} )
5252
@Jira( "https://hibernate.atlassian.net/browse/HHH-16392" )
53-
@SkipForDialect( dialectClass = InformixDialect.class, majorVersion = 12, matchSubTypes = true, reason = "Informix does not support table alliases in update/delete statements, Issue HHH-18473")
53+
@RequiresDialectFeature( feature = DialectFeatureChecks.SupportsDmlTargetColumnQualifier.class )
5454
public class MutationQueriesWhereAndFilterTest {
5555
@Test
5656
public void testDelete(SessionFactoryScope scope) {

hibernate-core/src/test/java/org/hibernate/orm/test/query/mutationquery/MutationQueriesWhereTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@
77
import java.util.List;
88

99
import org.hibernate.annotations.SQLRestriction;
10-
import org.hibernate.community.dialect.InformixDialect;
1110
import org.hibernate.query.MutationQuery;
1211

1312
import org.hibernate.testing.jdbc.SQLStatementInspector;
13+
import org.hibernate.testing.orm.junit.DialectFeatureChecks;
1414
import org.hibernate.testing.orm.junit.DomainModel;
1515
import org.hibernate.testing.orm.junit.Jira;
16+
import org.hibernate.testing.orm.junit.RequiresDialectFeature;
1617
import org.hibernate.testing.orm.junit.SessionFactory;
1718
import org.hibernate.testing.orm.junit.SessionFactoryScope;
18-
import org.hibernate.testing.orm.junit.SkipForDialect;
1919
import org.junit.jupiter.api.Test;
2020

2121
import jakarta.persistence.Column;
@@ -48,7 +48,7 @@
4848
MutationQueriesWhereTest.RoleEntity.class
4949
} )
5050
@Jira( "https://hibernate.atlassian.net/browse/HHH-16392" )
51-
@SkipForDialect( dialectClass = InformixDialect.class, majorVersion = 12, matchSubTypes = true, reason = "Informix does not support table alliases in update/delete statements, Issue HHH-18473")
51+
@RequiresDialectFeature( feature = DialectFeatureChecks.SupportsDmlTargetColumnQualifier.class )
5252
public class MutationQueriesWhereTest {
5353
@Test
5454
public void testDelete(SessionFactoryScope scope) {

hibernate-testing/src/main/java/org/hibernate/testing/DialectChecks.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import org.hibernate.dialect.DB2Dialect;
1010
import org.hibernate.community.dialect.DerbyDialect;
1111
import org.hibernate.dialect.Dialect;
12+
import org.hibernate.dialect.DmlTargetColumnQualifierSupport;
1213
import org.hibernate.dialect.HANADialect;
1314
import org.hibernate.dialect.MySQLDialect;
1415
import org.hibernate.dialect.NationalizationSupport;
@@ -309,4 +310,11 @@ public boolean isMatch(Dialect dialect) {
309310
return dialect.rowId("") != null;
310311
}
311312
}
313+
314+
public static class SupportsDmlTargetColumnQualifier implements DialectCheck {
315+
@Override
316+
public boolean isMatch(Dialect dialect) {
317+
return dialect.getDmlTargetColumnQualifierSupport() != DmlTargetColumnQualifierSupport.NONE;
318+
}
319+
}
312320
}

hibernate-testing/src/main/java/org/hibernate/testing/orm/junit/DialectFeatureChecks.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
import org.hibernate.dialect.CockroachDialect;
5050
import org.hibernate.dialect.DB2Dialect;
5151
import org.hibernate.dialect.Dialect;
52+
import org.hibernate.dialect.DmlTargetColumnQualifierSupport;
5253
import org.hibernate.dialect.H2Dialect;
5354
import org.hibernate.dialect.HANADialect;
5455
import org.hibernate.dialect.HSQLDialect;
@@ -1172,6 +1173,12 @@ public boolean apply(Dialect dialect) {
11721173
}
11731174
}
11741175

1176+
public static class SupportsDmlTargetColumnQualifier implements DialectFeatureCheck {
1177+
@Override
1178+
public boolean apply(Dialect dialect) {
1179+
return dialect.getDmlTargetColumnQualifierSupport() != DmlTargetColumnQualifierSupport.NONE;
1180+
}
1181+
}
11751182

11761183
private static SqmFunctionRegistry getSqmFunctionRegistry(Dialect dialect) {
11771184
SqmFunctionRegistry sqmFunctionRegistry = FUNCTION_REGISTRIES.get( dialect );

0 commit comments

Comments
 (0)