You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by ch...@apache.org on 2025/06/27 02:06:34 UTC

(shardingsphere) branch master updated: Add support for QuantifySubqueryExpression in SubqueryExtractor (#35808)

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

chengzhang 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 2c4b5a21deb Add support for QuantifySubqueryExpression in SubqueryExtractor (#35808)
2c4b5a21deb is described below

commit 2c4b5a21deb10716ce46059f3642871b3ac5020d
Author: Cong Hu <ia...@gmail.com>
AuthorDate: Fri Jun 27 10:06:28 2025 +0800

    Add support for QuantifySubqueryExpression in SubqueryExtractor (#35808)
---
 .../sql/parser/statement/core/extractor/SubqueryExtractor.java     | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/extractor/SubqueryExtractor.java b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/extractor/SubqueryExtractor.java
index 281d74db0dd..79f5157e6b0 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/extractor/SubqueryExtractor.java
+++ b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/extractor/SubqueryExtractor.java
@@ -32,6 +32,7 @@ import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.Func
 import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.InExpression;
 import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.ListExpression;
 import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.NotExpression;
+import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.QuantifySubqueryExpression;
 import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.TypeCastExpression;
 import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.complex.CommonTableExpressionSegment;
 import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.subquery.SubqueryExpressionSegment;
@@ -155,6 +156,12 @@ public final class SubqueryExtractor {
             result.add(subquery);
             extractRecursive(needRecursive, result, subquery.getSelect(), SubqueryType.TABLE);
         }
+        if (expressionSegment instanceof QuantifySubqueryExpression) {
+            SubquerySegment subquery = ((QuantifySubqueryExpression) expressionSegment).getSubquery();
+            subquery.getSelect().setSubqueryType(subqueryType);
+            result.add(subquery);
+            extractRecursive(needRecursive, result, subquery.getSelect(), SubqueryType.TABLE);
+        }
         if (expressionSegment instanceof ExistsSubqueryExpression) {
             SubquerySegment subquery = ((ExistsSubqueryExpression) expressionSegment).getSubquery();
             subquery.getSelect().setSubqueryType(subqueryType);