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();
}
/**