@@ -226,7 +226,12 @@ void createsCountQueryForNestedReferenceCorrectly() {
226
226
227
227
@ Test // DATAJPA-420
228
228
void createsCountQueryForScalarSelects () {
229
- assertCountQuery ("select p.lastname,p.firstname from Person p" , "select count(p) from Person p" , true );
229
+ assertCountQuery ("select p.lastname,p.firstname from Person p" , "select count(p) from Person p" , false );
230
+ }
231
+
232
+ @ Test // DATAJPA-420
233
+ void createsCountQueryForNativeScalarSelects () {
234
+ assertCountQuery ("select p.lastname,p.firstname from Person p" , "select count(1) from Person p" , true );
230
235
}
231
236
232
237
@ Test // DATAJPA-456
@@ -485,7 +490,7 @@ void createCountQuerySupportsWhitespaceCharacters() {
485
490
" order by user.name\n " , true );
486
491
487
492
assertThat (getEnhancer (query ).createCountQueryFor ())
488
- .isEqualToIgnoringCase ("select count(user ) from User user where user.age = 18" );
493
+ .isEqualToIgnoringCase ("select count(1 ) from User user where user.age = 18" );
489
494
}
490
495
491
496
@ Test
@@ -498,7 +503,7 @@ void createCountQuerySupportsLineBreaksInSelectClause() {
498
503
" order\n by\n user.name\n " , true );
499
504
500
505
assertThat (getEnhancer (query ).createCountQueryFor ())
501
- .isEqualToIgnoringCase ("select count(user ) from User user where user.age = 18" );
506
+ .isEqualToIgnoringCase ("select count(1 ) from User user where user.age = 18" );
502
507
}
503
508
504
509
@ Test // DATAJPA-1061
@@ -719,17 +724,17 @@ void countQueryUsesCorrectVariable() {
719
724
720
725
QueryEnhancer queryEnhancer = getEnhancer (nativeQuery );
721
726
String countQueryFor = queryEnhancer .createCountQueryFor ();
722
- assertThat (countQueryFor ).isEqualTo ("SELECT count(* ) FROM User WHERE created_at > $1" );
727
+ assertThat (countQueryFor ).isEqualTo ("SELECT count(1 ) FROM User WHERE created_at > $1" );
723
728
724
729
nativeQuery = new StringQuery ("SELECT * FROM (select * from test) " , true );
725
730
queryEnhancer = getEnhancer (nativeQuery );
726
731
countQueryFor = queryEnhancer .createCountQueryFor ();
727
- assertThat (countQueryFor ).isEqualTo ("SELECT count(* ) FROM (SELECT * FROM test)" );
732
+ assertThat (countQueryFor ).isEqualTo ("SELECT count(1 ) FROM (SELECT * FROM test)" );
728
733
729
734
nativeQuery = new StringQuery ("SELECT * FROM (select * from test) as test" , true );
730
735
queryEnhancer = getEnhancer (nativeQuery );
731
736
countQueryFor = queryEnhancer .createCountQueryFor ();
732
- assertThat (countQueryFor ).isEqualTo ("SELECT count(test ) FROM (SELECT * FROM test) AS test" );
737
+ assertThat (countQueryFor ).isEqualTo ("SELECT count(1 ) FROM (SELECT * FROM test) AS test" );
733
738
}
734
739
735
740
@ Test // GH-2555
@@ -859,7 +864,7 @@ void withStatementsWorksWithJSQLParser() {
859
864
860
865
assertThat (queryEnhancer .createCountQueryFor ()).isEqualToIgnoringCase (
861
866
"with sample_data (day, value) AS (VALUES ((0, 13), (1, 12), (2, 15), (3, 4), (4, 8), (5, 16)))\n "
862
- + "SELECT count(a ) FROM sample_data AS a" );
867
+ + "SELECT count(1 ) FROM sample_data AS a" );
863
868
assertThat (queryEnhancer .applySorting (Sort .by ("day" ).descending ())).endsWith ("ORDER BY a.day DESC" );
864
869
assertThat (queryEnhancer .getJoinAliases ()).isEmpty ();
865
870
assertThat (queryEnhancer .detectAlias ()).isEqualToIgnoringCase ("a" );
@@ -882,7 +887,7 @@ void multipleWithStatementsWorksWithJSQLParser() {
882
887
883
888
assertThat (queryEnhancer .createCountQueryFor ()).isEqualToIgnoringCase (
884
889
"with sample_data (day, value) AS (VALUES ((0, 13), (1, 12), (2, 15), (3, 4), (4, 8), (5, 16))),test2 AS (VALUES (1, 2, 3))\n "
885
- + "SELECT count(a ) FROM sample_data AS a" );
890
+ + "SELECT count(1 ) FROM sample_data AS a" );
886
891
assertThat (queryEnhancer .applySorting (Sort .by ("day" ).descending ())).endsWith ("ORDER BY a.day DESC" );
887
892
assertThat (queryEnhancer .getJoinAliases ()).isEmpty ();
888
893
assertThat (queryEnhancer .detectAlias ()).isEqualToIgnoringCase ("a" );
@@ -987,4 +992,5 @@ private static void endsIgnoringCase(String original, String endWithIgnoreCase)
987
992
private static QueryEnhancer getEnhancer (DeclaredQuery query ) {
988
993
return QueryEnhancerFactory .forQuery (query );
989
994
}
995
+
990
996
}
0 commit comments