This is an automated email from the ASF dual-hosted git repository.

sunnianjun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new bc673bad4da Minor refactor for 
SelectStatementContext#containsTableSubquery (#32278)
bc673bad4da is described below

commit bc673bad4dadc4614f9b62d51b390b7fffcfed4b
Author: Zhengqiang Duan <[email protected]>
AuthorDate: Fri Jul 26 12:59:55 2024 +0800

    Minor refactor for SelectStatementContext#containsTableSubquery (#32278)
---
 .../context/statement/dml/SelectStatementContext.java       | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

diff --git 
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/SelectStatementContext.java
 
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/SelectStatementContext.java
index fffa8335969..f4f42bda9cb 100644
--- 
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/SelectStatementContext.java
+++ 
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/SelectStatementContext.java
@@ -403,18 +403,7 @@ public final class SelectStatementContext extends 
CommonSQLStatementContext impl
      * @return whether sql statement contains table subquery segment or not
      */
     public boolean containsTableSubquery() {
-        return getSqlStatement().getFrom().isPresent() && 
isAllSubqueryTable(getSqlStatement().getFrom().get()) || 
getSqlStatement().getWithSegment().isPresent();
-    }
-    
-    private boolean isAllSubqueryTable(final TableSegment tableSegment) {
-        return tableSegment instanceof SubqueryTableSegment || 
isAllSubqueryTableInJoinTable(tableSegment);
-    }
-    
-    private boolean isAllSubqueryTableInJoinTable(final TableSegment 
tableSegment) {
-        if (tableSegment instanceof JoinTableSegment) {
-            return isAllSubqueryTable(((JoinTableSegment) 
tableSegment).getLeft()) && isAllSubqueryTable(((JoinTableSegment) 
tableSegment).getRight());
-        }
-        return false;
+        return getSqlStatement().getFrom().isPresent() && 
getSqlStatement().getFrom().get() instanceof SubqueryTableSegment || 
getSqlStatement().getWithSegment().isPresent();
     }
     
     /**

Reply via email to