Skip to content

Commit 5737da6

Browse files
committed
Support for older Informix which doesn't support count(1)
1 parent 513bbb7 commit 5737da6

14 files changed

+30
-21
lines changed

hibernate-core/src/test/java/org/hibernate/orm/test/hql/BulkManipulationTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,10 @@ public void testUpdateWithSubquery() {
8989
s.beginTransaction();
9090

9191
// just checking parsing and syntax...
92-
s.createQuery( "update Human h set h.bodyWeight = h.bodyWeight + (select count(1) from IntegerVersioned)" )
92+
s.createQuery( "update Human h set h.bodyWeight = h.bodyWeight + (select count(*) from IntegerVersioned)" )
9393
.executeUpdate();
9494
s.createQuery(
95-
"update Human h set h.bodyWeight = h.bodyWeight + (select count(1) from IntegerVersioned) where h.description = 'abc'" )
95+
"update Human h set h.bodyWeight = h.bodyWeight + (select count(*) from IntegerVersioned) where h.description = 'abc'" )
9696
.executeUpdate();
9797

9898
s.getTransaction().commit();

hibernate-core/src/test/java/org/hibernate/orm/test/insertordering/InsertOrderingWithJoinedTableInheritance.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,12 @@ public void testBatchingAmongstSubClasses() {
8787

8888
sessionFactoryScope().inTransaction( (session) -> {
8989
final Long specialPersonCount = session
90-
.createSelectionQuery( "select count(1) from SpecialPerson", Long.class )
90+
.createSelectionQuery( "select count(*) from SpecialPerson", Long.class )
9191
.getSingleResult();
9292
assertThat( specialPersonCount ).isEqualTo( 12L );
9393

9494
final Long addressCount = session
95-
.createSelectionQuery( "select count(1) from Address", Long.class )
95+
.createSelectionQuery( "select count(*) from Address", Long.class )
9696
.getSingleResult();
9797
assertThat( addressCount ).isEqualTo( 24L );
9898
} );

hibernate-core/src/test/java/org/hibernate/orm/test/insertordering/InsertOrderingWithJoinedTableMultiLevelInheritance.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,22 +91,22 @@ public void testBatchingAmongstSubClasses() {
9191
// 1 AnotherPerson per loop (2)
9292
// 1 President per loop (2)
9393
final Long addressCount = session
94-
.createSelectionQuery( "select count(1) from Address", Long.class )
94+
.createSelectionQuery( "select count(*) from Address", Long.class )
9595
.getSingleResult();
9696
assertThat( addressCount ).isEqualTo( 4L );
9797

9898
final Long officeCount = session
99-
.createSelectionQuery( "select count(1) from Office", Long.class )
99+
.createSelectionQuery( "select count(*) from Office", Long.class )
100100
.getSingleResult();
101101
assertThat( officeCount ).isEqualTo( 2L );
102102

103103
final Long presidentCount = session
104-
.createSelectionQuery( "select count(1) from President", Long.class )
104+
.createSelectionQuery( "select count(*) from President", Long.class )
105105
.getSingleResult();
106106
assertThat( presidentCount ).isEqualTo( 2L );
107107

108108
final Long anotherPersonCount = session
109-
.createSelectionQuery( "select count(1) from AnotherPerson", Long.class )
109+
.createSelectionQuery( "select count(*) from AnotherPerson", Long.class )
110110
.getSingleResult();
111111
assertThat( presidentCount ).isEqualTo( 2L );
112112

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( 1 ) ) );
318+
criteria.select( builder.count( builder.literal( "*" ) ) );
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/mapping/manytoone/jointable/InverseManyToOneJoinTableCompositeIdTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ private void dropTestData(SessionFactoryScope scope) {
132132
session.createQuery( "from Author", Author.class ).list().forEach( session::remove );
133133
} );
134134
scope.inTransaction( (session) -> {
135-
final Long bookCount = session.createSelectionQuery( "select count(1) from Book", Long.class ).uniqueResult();
135+
final Long bookCount = session.createSelectionQuery( "select count(*) from Book", Long.class ).uniqueResult();
136136
assertThat( bookCount ).isEqualTo( 0L );
137137
} );
138138
}

hibernate-core/src/test/java/org/hibernate/orm/test/mapping/manytoone/jointable/InverseManyToOneJoinTableSimpleIdTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ private void dropTestData(SessionFactoryScope scope) {
106106
session.createQuery( "from Author", Author.class ).list().forEach( session::remove );
107107
} );
108108
scope.inTransaction( (session) -> {
109-
final Long bookCount = session.createSelectionQuery( "select count(1) from Book", Long.class ).uniqueResult();
109+
final Long bookCount = session.createSelectionQuery( "select count(*) from Book", Long.class ).uniqueResult();
110110
assertThat( bookCount ).isEqualTo( 0L );
111111
} );
112112
}

hibernate-core/src/test/java/org/hibernate/orm/test/query/hql/GroupByTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public void testGroupByAliasedBasicPart(SessionFactoryScope scope) {
4848
sqlStatementInspector.clear();
4949

5050
scope.inSession( (session) -> {
51-
final String qryString = "select c.id as id_alias, count(1) as occurrences"
51+
final String qryString = "select c.id as id_alias, count(*) as occurrences"
5252
+ " from Contact c"
5353
+ " group by id_alias"
5454
+ " order by id_alias";
@@ -69,7 +69,7 @@ public void testGroupByAliasedCompositePart(SessionFactoryScope scope) {
6969
sqlStatementInspector.clear();
7070

7171
scope.inTransaction( (session) -> {
72-
final String qryString = "select c.name as name_alias, count(1) as occurrences"
72+
final String qryString = "select c.name as name_alias, count(*) as occurrences"
7373
+ " from Contact c"
7474
+ " group by name_alias"
7575
+ " order by name_alias";
@@ -94,7 +94,7 @@ public void testGroupByMultipleAliases(SessionFactoryScope scope) {
9494
sqlStatementInspector.clear();
9595

9696
scope.inTransaction( (session) -> {
97-
final String qryString = "select c.id as id_alias, c.gender as gender_alias, count(1) as occurrences"
97+
final String qryString = "select c.id as id_alias, c.gender as gender_alias, count(*) as occurrences"
9898
+ " from Contact c"
9999
+ " group by id_alias, gender_alias"
100100
+ " order by id_alias, gender_alias";

hibernate-core/src/test/java/org/hibernate/orm/test/query/hql/StandardFunctionTests.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -893,6 +893,15 @@ public void testSimpleCountFunctions(SessionFactoryScope scope) {
893893
session -> {
894894
session.createQuery("select count(*) from EntityOfBasics e")
895895
.list();
896+
}
897+
);
898+
}
899+
900+
@Test
901+
@SkipForDialect( dialectClass = InformixDialect.class, majorVersion = 11, minorVersion = 50, reason = "Informix does not support count(1) function")
902+
public void testSimpleCount1Functions(SessionFactoryScope scope) {
903+
scope.inTransaction(
904+
session -> {
896905
session.createQuery("select count(1) from EntityOfBasics e")
897906
.list();
898907
}

hibernate-core/src/test/java/org/hibernate/orm/test/secondarytable/SecondaryRowTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ private static void verifySecondaryRows(String table, int expectedCount, Session
8383
}
8484

8585
private static void verifySecondaryRows(String table, int expectedCount, SessionImplementor session) {
86-
final String sql = "select count(1) from " + table;
86+
final String sql = "select count(*) from " + table;
8787
final int count = (int) session.createNativeQuery( sql, Integer.class ).getSingleResult();
8888
assertThat( count ).isEqualTo( expectedCount );
8989
}

hibernate-core/src/test/java/org/hibernate/orm/test/softdelete/ImplicitSoftDeleteTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ void createTestData(SessionFactoryScope scope) {
5252
// make sure all 3 are still physically there
5353
session.doWork( (connection) -> {
5454
final Statement statement = connection.createStatement();
55-
final ResultSet resultSet = statement.executeQuery( "select count(1) from implicit_entities" );
55+
final ResultSet resultSet = statement.executeQuery( "select count(*) from implicit_entities" );
5656
resultSet.next();
5757
final int count = resultSet.getInt( 1 );
5858
assertThat( count ).isEqualTo( 3 );

0 commit comments

Comments
 (0)