File tree Expand file tree Collapse file tree 6 files changed +12
-8
lines changed
antlr4/org/springframework/data/jpa/repository/query
java/org/springframework/data/jpa/repository/query
test/java/org/springframework/data/jpa/repository/query Expand file tree Collapse file tree 6 files changed +12
-8
lines changed Original file line number Diff line number Diff line change @@ -349,7 +349,7 @@ between_expression
349349 ;
350350
351351in_expression
352- : (state_valued_path_expression | type_discriminator) (NOT )? IN ((' (' in_item (' ,' in_item)* ' )' ) | ( ' (' subquery ' )' ) | collection_valued_input_parameter)
352+ : (string_expression | type_discriminator) (NOT )? IN ((' (' in_item (' ,' in_item)* ' )' ) | ( ' (' subquery ' )' ) | collection_valued_input_parameter)
353353 ;
354354
355355in_item
Original file line number Diff line number Diff line change @@ -337,7 +337,7 @@ between_expression
337337 ;
338338
339339in_expression
340- : (state_valued_path_expression | type_discriminator) (NOT )? IN ((' (' in_item (' ,' in_item)* ' )' ) | ( ' (' subquery ' )' ) | collection_valued_input_parameter)
340+ : (string_expression | type_discriminator) (NOT )? IN ((' (' in_item (' ,' in_item)* ' )' ) | ( ' (' subquery ' )' ) | collection_valued_input_parameter)
341341 ;
342342
343343in_item
Original file line number Diff line number Diff line change @@ -1155,8 +1155,8 @@ public QueryTokenStream visitIn_expression(EqlParser.In_expressionContext ctx) {
11551155
11561156 QueryRendererBuilder builder = QueryRenderer .builder ();
11571157
1158- if (ctx .state_valued_path_expression () != null ) {
1159- builder .append (visit (ctx .state_valued_path_expression ()));
1158+ if (ctx .string_expression () != null ) {
1159+ builder .append (visit (ctx .string_expression ()));
11601160 }
11611161 if (ctx .type_discriminator () != null ) {
11621162 builder .append (visit (ctx .type_discriminator ()));
Original file line number Diff line number Diff line change @@ -1078,8 +1078,8 @@ public QueryTokenStream visitIn_expression(JpqlParser.In_expressionContext ctx)
10781078
10791079 QueryRendererBuilder builder = QueryRenderer .builder ();
10801080
1081- if (ctx .state_valued_path_expression () != null ) {
1082- builder .appendExpression (visit (ctx .state_valued_path_expression ()));
1081+ if (ctx .string_expression () != null ) {
1082+ builder .appendExpression (visit (ctx .string_expression ()));
10831083 }
10841084 if (ctx .type_discriminator () != null ) {
10851085 builder .appendExpression (visit (ctx .type_discriminator ()));
Original file line number Diff line number Diff line change 3636 *
3737 * @author Greg Turnquist
3838 * @author Christoph Strobl
39+ * @author Mark Paluch
3940 */
4041class EqlQueryRendererTests {
4142
@@ -1041,12 +1042,14 @@ void lateralShouldBeAValidParameter() {
10411042 assertQuery ("select te from TestEntity te where te.lateral = :lateral" );
10421043 }
10431044
1044- @ Test
1045+ @ Test // GH-3834
10451046 void reservedWordsShouldWork () {
10461047
10471048 assertQuery ("select ie from ItemExample ie left join ie.object io where io.externalId = :externalId" );
10481049 assertQuery ("select ie.object from ItemExample ie left join ie.object io where io.externalId = :externalId" );
10491050 assertQuery ("select ie from ItemExample ie left join ie.object io where io.object = :externalId" );
10501051 assertQuery ("select ie from ItemExample ie where ie.status = com.app.domain.object.Status.UP" );
1052+ assertQuery ("select f from FooEntity f where upper(f.name) IN :names" );
1053+ assertQuery ("select f from FooEntity f where f.size IN :sizes" );
10511054 }
10521055}
Original file line number Diff line number Diff line change 3636 *
3737 * @author Greg Turnquist
3838 * @author Christoph Strobl
39+ * @author Mark Paluch
3940 * @since 3.1
4041 */
4142class JpqlQueryRendererTests {
@@ -1027,7 +1028,7 @@ void entityNameWithPackageContainingReservedWord(String reservedWord) {
10271028 assertQuery (source );
10281029 }
10291030
1030- @ Test
1031+ @ Test // GH-3834
10311032 void reservedWordsShouldWork () {
10321033
10331034 assertQuery ("select ie from ItemExample ie left join ie.object io where io.externalId = :externalId" );
You can’t perform that action at this time.
0 commit comments