@@ -228,7 +228,12 @@ void createsCountQueryForNestedReferenceCorrectly() {
228228
229229 @ Test // DATAJPA-420
230230 void createsCountQueryForScalarSelects () {
231- assertCountQuery ("select p.lastname,p.firstname from Person p" , "select count(p) from Person p" , true );
231+ assertCountQuery ("select p.lastname,p.firstname from Person p" , "select count(p) from Person p" , false );
232+ }
233+
234+ @ Test // DATAJPA-420
235+ void createsCountQueryForNativeScalarSelects () {
236+ assertCountQuery ("select p.lastname,p.firstname from Person p" , "select count(1) from Person p" , true );
232237 }
233238
234239 @ Test // DATAJPA-456
@@ -487,7 +492,7 @@ void createCountQuerySupportsWhitespaceCharacters() {
487492 " order by user.name\n " , true );
488493
489494 assertThat (getEnhancer (query ).createCountQueryFor ())
490- .isEqualToIgnoringCase ("select count(user ) from User user where user.age = 18" );
495+ .isEqualToIgnoringCase ("select count(1 ) from User user where user.age = 18" );
491496 }
492497
493498 @ Test
@@ -500,7 +505,7 @@ void createCountQuerySupportsLineBreaksInSelectClause() {
500505 " order\n by\n user.name\n " , true );
501506
502507 assertThat (getEnhancer (query ).createCountQueryFor ())
503- .isEqualToIgnoringCase ("select count(user ) from User user where user.age = 18" );
508+ .isEqualToIgnoringCase ("select count(1 ) from User user where user.age = 18" );
504509 }
505510
506511 @ Test // DATAJPA-1061
@@ -721,17 +726,17 @@ void countQueryUsesCorrectVariable() {
721726
722727 QueryEnhancer queryEnhancer = getEnhancer (nativeQuery );
723728 String countQueryFor = queryEnhancer .createCountQueryFor ();
724- assertThat (countQueryFor ).isEqualTo ("SELECT count(* ) FROM User WHERE created_at > $1" );
729+ assertThat (countQueryFor ).isEqualTo ("SELECT count(1 ) FROM User WHERE created_at > $1" );
725730
726731 nativeQuery = new StringQuery ("SELECT * FROM (select * from test) " , true );
727732 queryEnhancer = getEnhancer (nativeQuery );
728733 countQueryFor = queryEnhancer .createCountQueryFor ();
729- assertThat (countQueryFor ).isEqualTo ("SELECT count(* ) FROM (SELECT * FROM test)" );
734+ assertThat (countQueryFor ).isEqualTo ("SELECT count(1 ) FROM (SELECT * FROM test)" );
730735
731736 nativeQuery = new StringQuery ("SELECT * FROM (select * from test) as test" , true );
732737 queryEnhancer = getEnhancer (nativeQuery );
733738 countQueryFor = queryEnhancer .createCountQueryFor ();
734- assertThat (countQueryFor ).isEqualTo ("SELECT count(test ) FROM (SELECT * FROM test) AS test" );
739+ assertThat (countQueryFor ).isEqualTo ("SELECT count(1 ) FROM (SELECT * FROM test) AS test" );
735740 }
736741
737742 @ Test // GH-2555
@@ -861,7 +866,7 @@ void withStatementsWorksWithJSQLParser() {
861866
862867 assertThat (queryEnhancer .createCountQueryFor ()).isEqualToIgnoringCase (
863868 "with sample_data (day, value) AS (VALUES ((0, 13), (1, 12), (2, 15), (3, 4), (4, 8), (5, 16)))\n "
864- + "SELECT count(a ) FROM sample_data AS a" );
869+ + "SELECT count(1 ) FROM sample_data AS a" );
865870 assertThat (queryEnhancer .applySorting (Sort .by ("day" ).descending ())).endsWith ("ORDER BY a.day DESC" );
866871 assertThat (queryEnhancer .getJoinAliases ()).isEmpty ();
867872 assertThat (queryEnhancer .detectAlias ()).isEqualToIgnoringCase ("a" );
@@ -884,7 +889,7 @@ void multipleWithStatementsWorksWithJSQLParser() {
884889
885890 assertThat (queryEnhancer .createCountQueryFor ()).isEqualToIgnoringCase (
886891 "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 "
887- + "SELECT count(a ) FROM sample_data AS a" );
892+ + "SELECT count(1 ) FROM sample_data AS a" );
888893 assertThat (queryEnhancer .applySorting (Sort .by ("day" ).descending ())).endsWith ("ORDER BY a.day DESC" );
889894 assertThat (queryEnhancer .getJoinAliases ()).isEmpty ();
890895 assertThat (queryEnhancer .detectAlias ()).isEqualToIgnoringCase ("a" );
@@ -989,4 +994,5 @@ private static void endsIgnoringCase(String original, String endWithIgnoreCase)
989994 private static QueryEnhancer getEnhancer (DeclaredQuery query ) {
990995 return QueryEnhancerFactory .forQuery (query );
991996 }
997+
992998}
0 commit comments