Skip to content

Commit e85b148

Browse files
committed
Refactor subquery detection logic in JpqlQueryRenderer
Signed-off-by: KNU-K <[email protected]>
1 parent a5b5c2e commit e85b148

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/JpqlQueryRenderer.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,15 +47,16 @@ class JpqlQueryRenderer extends JpqlBaseVisitor<QueryTokenStream> {
4747
*/
4848
static boolean isSubquery(ParserRuleContext ctx) {
4949

50-
if (ctx instanceof JpqlParser.SubqueryContext) {
51-
return true;
52-
} else if (ctx instanceof JpqlParser.Update_statementContext) {
53-
return false;
54-
} else if (ctx instanceof JpqlParser.Delete_statementContext) {
55-
return false;
56-
} else {
57-
return ctx.getParent() != null && isSubquery(ctx.getParent());
58-
}
50+
while (ctx != null) {
51+
if (ctx instanceof JpqlParser.SubqueryContext) {
52+
return true;
53+
}
54+
if (ctx instanceof JpqlParser.Update_statementContext || ctx instanceof JpqlParser.Delete_statementContext) {
55+
return false;
56+
}
57+
ctx = ctx.getParent();
58+
}
59+
return false;
5960
}
6061

6162
/**

0 commit comments

Comments
 (0)