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">