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

duanzhengqiang 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 58e1cf5a3a0 Support mysql GROUP_CONCAT function parsing (#27301)
58e1cf5a3a0 is described below

commit 58e1cf5a3a0771d506a23da4ce121a701617baf0
Author: ZhangCheng <[email protected]>
AuthorDate: Wed Jul 19 19:22:19 2023 +0800

    Support mysql GROUP_CONCAT function parsing (#27301)
    
    * Support mysql GROUP_CONCAT function parsing
    
    * Support oracle isSchemaValid function parsing
---
 parser/sql/dialect/mysql/src/main/antlr4/imports/mysql/BaseRule.g4    | 2 +-
 .../shardingsphere/sql/parser/sql/common/enums/AggregationType.java   | 2 +-
 .../it/parser/src/main/resources/case/dml/select-special-function.xml | 4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/parser/sql/dialect/mysql/src/main/antlr4/imports/mysql/BaseRule.g4 
b/parser/sql/dialect/mysql/src/main/antlr4/imports/mysql/BaseRule.g4
index 717e52c0cf4..87c41bdf67c 100644
--- a/parser/sql/dialect/mysql/src/main/antlr4/imports/mysql/BaseRule.g4
+++ b/parser/sql/dialect/mysql/src/main/antlr4/imports/mysql/BaseRule.g4
@@ -972,7 +972,7 @@ jsonFunctionName
     ;
 
 aggregationFunctionName
-    : MAX | MIN | SUM | COUNT | AVG | BIT_XOR
+    : MAX | MIN | SUM | COUNT | AVG | BIT_XOR | GROUP_CONCAT
     ;
     
 distinct
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/enums/AggregationType.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/enums/AggregationType.java
index 1f0b4fd41bf..5a0c967ea15 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/enums/AggregationType.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/enums/AggregationType.java
@@ -24,7 +24,7 @@ import java.util.Arrays;
  */
 public enum AggregationType {
     
-    MAX, MIN, SUM, COUNT, AVG, BIT_XOR;
+    MAX, MIN, SUM, COUNT, AVG, BIT_XOR, GROUP_CONCAT;
     
     /**
      * Is aggregation type.
diff --git 
a/test/it/parser/src/main/resources/case/dml/select-special-function.xml 
b/test/it/parser/src/main/resources/case/dml/select-special-function.xml
index 0c7c893cfef..a4a76db14c0 100644
--- a/test/it/parser/src/main/resources/case/dml/select-special-function.xml
+++ b/test/it/parser/src/main/resources/case/dml/select-special-function.xml
@@ -22,7 +22,7 @@
             <simple-table name="t_order" start-index="33" stop-index="39" />
         </from>
         <projections start-index="7" stop-index="26">
-            <expression-projection text="GROUP_CONCAT(status)" start-index="7" 
stop-index="26">
+            <aggregation-projection type="GROUP_CONCAT" 
inner-expression="(status)" text="GROUP_CONCAT(status)" start-index="7" 
stop-index="26">
                 <expr>
                     <function function-name="GROUP_CONCAT" start-index="7" 
stop-index="26" text="GROUP_CONCAT(status)">
                         <parameter>
@@ -30,7 +30,7 @@
                         </parameter>
                     </function>
                 </expr>
-            </expression-projection>
+            </aggregation-projection>
         </projections>
     </select>
     <select sql-case-id="select_window_function">

Reply via email to