From 407e9103ad894bbf39d3cdb1a3605eb6903db8e9 Mon Sep 17 00:00:00 2001 From: "Greg L. Turnquist" Date: Fri, 8 Sep 2023 09:35:28 -0500 Subject: [PATCH] Make POWER a valid token as an identifier for JPQL and HQL. See #3143 --- .../org/springframework/data/jpa/repository/query/Hql.g4 | 1 + .../org/springframework/data/jpa/repository/query/Jpql.g4 | 1 + .../data/jpa/repository/query/HqlQueryRendererTests.java | 5 +++++ .../data/jpa/repository/query/JpqlQueryRendererTests.java | 5 +++++ 4 files changed, 12 insertions(+) diff --git a/spring-data-jpa/src/main/antlr4/org/springframework/data/jpa/repository/query/Hql.g4 b/spring-data-jpa/src/main/antlr4/org/springframework/data/jpa/repository/query/Hql.g4 index 36205292b..1e80b10fe 100644 --- a/spring-data-jpa/src/main/antlr4/org/springframework/data/jpa/repository/query/Hql.g4 +++ b/spring-data-jpa/src/main/antlr4/org/springframework/data/jpa/repository/query/Hql.g4 @@ -812,6 +812,7 @@ reservedWord | PERCENT | PLACING | POSITION + | POWER | PRECEDING | QUARTER | RANGE diff --git a/spring-data-jpa/src/main/antlr4/org/springframework/data/jpa/repository/query/Jpql.g4 b/spring-data-jpa/src/main/antlr4/org/springframework/data/jpa/repository/query/Jpql.g4 index 271e9d168..637bac6c3 100644 --- a/spring-data-jpa/src/main/antlr4/org/springframework/data/jpa/repository/query/Jpql.g4 +++ b/spring-data-jpa/src/main/antlr4/org/springframework/data/jpa/repository/query/Jpql.g4 @@ -605,6 +605,7 @@ identification_variable | NEW | ORDER | OUTER + | POWER | FLOOR | SIGN | TIME diff --git a/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/HqlQueryRendererTests.java b/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/HqlQueryRendererTests.java index 0feaf2cdd..39ce36c60 100644 --- a/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/HqlQueryRendererTests.java +++ b/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/HqlQueryRendererTests.java @@ -1600,4 +1600,9 @@ class HqlQueryRendererTests { ORDER BY j.id """); } + + @Test // GH-3143 + void powerShouldBeLegalInAQuery() { + assertQuery("select e.power.id from MyEntity e"); + } } diff --git a/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/JpqlQueryRendererTests.java b/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/JpqlQueryRendererTests.java index d738ccac3..403f7ffae 100644 --- a/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/JpqlQueryRendererTests.java +++ b/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/JpqlQueryRendererTests.java @@ -983,4 +983,9 @@ class JpqlQueryRendererTests { ORDER BY j.id """); } + + @Test // GH-3143 + void powerShouldBeLegalInAQuery() { + assertQuery("select e.power.id from MyEntity e"); + } }