This is an automated email from the ASF dual-hosted git repository.
terrymanu 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 a478065dc31 Support parsing Doris ADMIN CANCEL REBALANCE DISK
statement, and add Doris sql-cases for YEARWEEK and RTRIM (#39587)
a478065dc31 is described below
commit a478065dc31d31f26bd84b15299e9598a90a4c5a
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Aug 23 23:23:33 2026 +0800
Support parsing Doris ADMIN CANCEL REBALANCE DISK statement, and add Doris
sql-cases for YEARWEEK and RTRIM (#39587)
Fixes #31507
---
.../core/database/visitor/SQLVisitorRule.java | 2 +
.../src/main/antlr4/imports/doris/DALStatement.g4 | 4 ++
.../sql/parser/autogen/DorisStatement.g4 | 1 +
.../statement/type/DorisDALStatementVisitor.java | 11 +++++
.../DorisAdminCancelRebalanceDiskStatement.java | 38 ++++++++++++++++
.../dal/dialect/doris/DorisDALStatementAssert.java | 5 +++
...risAdminCancelRebalanceDiskStatementAssert.java | 52 ++++++++++++++++++++++
.../cases/parser/jaxb/RootSQLParserTestCases.java | 4 ++
...sAdminCancelRebalanceDiskStatementTestCase.java | 40 +++++++++++++++++
.../case/dal/admin-cancel-rebalance-disk.xml | 31 +++++++++++++
.../supported/dal/admin-cancel-rebalance-disk.xml | 24 ++++++++++
.../sql/supported/dml/select-special-function.xml | 4 +-
12 files changed, 214 insertions(+), 2 deletions(-)
diff --git
a/parser/sql/engine/core/src/main/java/org/apache/shardingsphere/sql/parser/engine/core/database/visitor/SQLVisitorRule.java
b/parser/sql/engine/core/src/main/java/org/apache/shardingsphere/sql/parser/engine/core/database/visitor/SQLVisitorRule.java
index fef82a7fab5..951858b65ac 100644
---
a/parser/sql/engine/core/src/main/java/org/apache/shardingsphere/sql/parser/engine/core/database/visitor/SQLVisitorRule.java
+++
b/parser/sql/engine/core/src/main/java/org/apache/shardingsphere/sql/parser/engine/core/database/visitor/SQLVisitorRule.java
@@ -609,6 +609,8 @@ public enum SQLVisitorRule {
ADMIN_REBALANCE_DISK("AdminRebalanceDisk", SQLStatementType.DAL),
+ ADMIN_CANCEL_REBALANCE_DISK("AdminCancelRebalanceDisk",
SQLStatementType.DAL),
+
ADMIN_REPAIR("AdminRepair", SQLStatementType.DAL),
ADMIN_CANCEL_REPAIR("AdminCancelRepair", SQLStatementType.DAL),
diff --git
a/parser/sql/engine/dialect/doris/src/main/antlr4/imports/doris/DALStatement.g4
b/parser/sql/engine/dialect/doris/src/main/antlr4/imports/doris/DALStatement.g4
index 735b174f95a..806d7b026bd 100644
---
a/parser/sql/engine/dialect/doris/src/main/antlr4/imports/doris/DALStatement.g4
+++
b/parser/sql/engine/dialect/doris/src/main/antlr4/imports/doris/DALStatement.g4
@@ -514,6 +514,10 @@ adminRebalanceDisk
: ADMIN REBALANCE DISK (ON LP_ string_ (COMMA_ string_)* RP_)?
;
+adminCancelRebalanceDisk
+ : ADMIN CANCEL REBALANCE DISK (ON LP_ string_ (COMMA_ string_)* RP_)?
+ ;
+
adminRepair
: ADMIN REPAIR TABLE tableName (PARTITION LP_ partitionName (COMMA_
partitionName)* RP_)?
;
diff --git
a/parser/sql/engine/dialect/doris/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/DorisStatement.g4
b/parser/sql/engine/dialect/doris/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/DorisStatement.g4
index d4a7939a903..daca1ea7ab4 100644
---
a/parser/sql/engine/dialect/doris/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/DorisStatement.g4
+++
b/parser/sql/engine/dialect/doris/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/DorisStatement.g4
@@ -159,6 +159,7 @@ execute
| adminSetPartitionVersion
| adminCleanTrash
| adminRebalanceDisk
+ | adminCancelRebalanceDisk
| adminRepair
| adminCancelRepair
| createSqlBlockRule
diff --git
a/parser/sql/engine/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/engine/doris/visitor/statement/type/DorisDALStatementVisitor.java
b/parser/sql/engine/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/engine/doris/visitor/statement/type/DorisDALStatementVisitor.java
index 05f4a9b2cbe..c3fcd2bd172 100644
---
a/parser/sql/engine/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/engine/doris/visitor/statement/type/DorisDALStatementVisitor.java
+++
b/parser/sql/engine/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/engine/doris/visitor/statement/type/DorisDALStatementVisitor.java
@@ -150,6 +150,7 @@ import
org.apache.shardingsphere.sql.parser.autogen.DorisStatementParser.PluginP
import
org.apache.shardingsphere.sql.parser.autogen.DorisStatementParser.PluginPropertyValueContext;
import
org.apache.shardingsphere.sql.parser.autogen.DorisStatementParser.AdminCleanTrashContext;
import
org.apache.shardingsphere.sql.parser.autogen.DorisStatementParser.AdminRebalanceDiskContext;
+import
org.apache.shardingsphere.sql.parser.autogen.DorisStatementParser.AdminCancelRebalanceDiskContext;
import
org.apache.shardingsphere.sql.parser.autogen.DorisStatementParser.AdminRepairContext;
import
org.apache.shardingsphere.sql.parser.autogen.DorisStatementParser.AdminCancelRepairContext;
import
org.apache.shardingsphere.sql.parser.autogen.DorisStatementParser.CleanAllProfileContext;
@@ -256,6 +257,7 @@ import
org.apache.shardingsphere.sql.parser.statement.doris.dal.DorisAdminCopyTa
import
org.apache.shardingsphere.sql.parser.statement.doris.dal.DorisAdminCheckTabletStatement;
import
org.apache.shardingsphere.sql.parser.statement.doris.dal.DorisAdminSetPartitionVersionStatement;
import
org.apache.shardingsphere.sql.parser.statement.doris.dal.DorisAdminRebalanceDiskStatement;
+import
org.apache.shardingsphere.sql.parser.statement.doris.dal.DorisAdminCancelRebalanceDiskStatement;
import
org.apache.shardingsphere.sql.parser.statement.doris.dal.DorisAdminRepairStatement;
import
org.apache.shardingsphere.sql.parser.statement.doris.dal.DorisAdminCancelRepairStatement;
import
org.apache.shardingsphere.sql.parser.statement.doris.dal.DorisAlterResourceStatement;
@@ -1328,6 +1330,15 @@ public final class DorisDALStatementVisitor extends
DorisStatementVisitor implem
return result;
}
+ @Override
+ public ASTNode visitAdminCancelRebalanceDisk(final
AdminCancelRebalanceDiskContext ctx) {
+ DorisAdminCancelRebalanceDiskStatement result = new
DorisAdminCancelRebalanceDiskStatement(getDatabaseType());
+ if (null != ctx.string_()) {
+ ctx.string_().forEach(each ->
result.getBackends().add(SQLUtils.getExactlyValue(each.getText())));
+ }
+ return result;
+ }
+
@Override
public ASTNode visitAdminRepair(final AdminRepairContext ctx) {
return new DorisAdminRepairStatement(getDatabaseType(),
(SimpleTableSegment) visit(ctx.tableName()),
diff --git
a/parser/sql/statement/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/statement/doris/dal/DorisAdminCancelRebalanceDiskStatement.java
b/parser/sql/statement/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/statement/doris/dal/DorisAdminCancelRebalanceDiskStatement.java
new file mode 100644
index 00000000000..28a5ac6cec5
--- /dev/null
+++
b/parser/sql/statement/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/statement/doris/dal/DorisAdminCancelRebalanceDiskStatement.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shardingsphere.sql.parser.statement.doris.dal;
+
+import lombok.Getter;
+import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
+import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.dal.DALStatement;
+
+import java.util.Collection;
+import java.util.LinkedList;
+
+/**
+ * Admin cancel rebalance disk statement for Doris.
+ */
+@Getter
+public final class DorisAdminCancelRebalanceDiskStatement extends DALStatement
{
+
+ private final Collection<String> backends = new LinkedList<>();
+
+ public DorisAdminCancelRebalanceDiskStatement(final DatabaseType
databaseType) {
+ super(databaseType);
+ }
+}
diff --git
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/dialect/doris/DorisDALStatementAssert.java
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/dialect/doris/DorisDALStatementAssert.java
index 5052bffc09e..9cd30aa7118 100644
---
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/dialect/doris/DorisDALStatementAssert.java
+++
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/dialect/doris/DorisDALStatementAssert.java
@@ -23,6 +23,7 @@ import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.dal.DA
import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.dal.UnsetVariableStatement;
import
org.apache.shardingsphere.sql.parser.statement.doris.dal.DorisAdminCleanTrashStatement;
import
org.apache.shardingsphere.sql.parser.statement.doris.dal.DorisAdminRebalanceDiskStatement;
+import
org.apache.shardingsphere.sql.parser.statement.doris.dal.DorisAdminCancelRebalanceDiskStatement;
import
org.apache.shardingsphere.sql.parser.statement.doris.dal.DorisAdminRepairStatement;
import
org.apache.shardingsphere.sql.parser.statement.doris.dal.DorisAdminCancelRepairStatement;
import
org.apache.shardingsphere.sql.parser.statement.doris.dal.DorisCleanAllProfileStatement;
@@ -67,6 +68,7 @@ import
org.apache.shardingsphere.sql.parser.statement.doris.dal.show.DorisShowDa
import
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.SQLCaseAssertContext;
import
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.dialect.doris.type.DorisAdminCleanTrashStatementAssert;
import
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.dialect.doris.type.DorisAdminRebalanceDiskStatementAssert;
+import
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.dialect.doris.type.DorisAdminCancelRebalanceDiskStatementAssert;
import
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.dialect.doris.type.DorisAdminRepairStatementAssert;
import
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.dialect.doris.type.DorisAdminCancelRepairStatementAssert;
import
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.dialect.doris.type.DorisCleanAllProfileStatementAssert;
@@ -112,6 +114,7 @@ import
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.d
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.SQLParserTestCase;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.dialect.doris.DorisAdminCleanTrashStatementTestCase;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.dialect.doris.DorisAdminRebalanceDiskStatementTestCase;
+import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.dialect.doris.DorisAdminCancelRebalanceDiskStatementTestCase;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.dialect.doris.DorisAdminRepairStatementTestCase;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.dialect.doris.DorisAdminCancelRepairStatementTestCase;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.dialect.doris.DorisCleanAllProfileStatementTestCase;
@@ -227,6 +230,8 @@ public final class DorisDALStatementAssert {
DorisAdminCleanTrashStatementAssert.assertIs(assertContext,
(DorisAdminCleanTrashStatement) actual, (DorisAdminCleanTrashStatementTestCase)
expected);
} else if (actual instanceof DorisAdminRebalanceDiskStatement) {
DorisAdminRebalanceDiskStatementAssert.assertIs(assertContext,
(DorisAdminRebalanceDiskStatement) actual,
(DorisAdminRebalanceDiskStatementTestCase) expected);
+ } else if (actual instanceof DorisAdminCancelRebalanceDiskStatement) {
+
DorisAdminCancelRebalanceDiskStatementAssert.assertIs(assertContext,
(DorisAdminCancelRebalanceDiskStatement) actual,
(DorisAdminCancelRebalanceDiskStatementTestCase) expected);
} else if (actual instanceof DorisAdminRepairStatement) {
DorisAdminRepairStatementAssert.assertIs(assertContext,
(DorisAdminRepairStatement) actual, (DorisAdminRepairStatementTestCase)
expected);
} else if (actual instanceof DorisAdminCancelRepairStatement) {
diff --git
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/dialect/doris/type/DorisAdminCancelRebalanceDiskStatementAssert.java
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/dialect/doris/type/DorisAdminCancelRebalanceDiskStatementAssert.java
new file mode 100644
index 00000000000..cf0aeb0ad44
--- /dev/null
+++
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/dal/dialect/doris/type/DorisAdminCancelRebalanceDiskStatementAssert.java
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.statement.dal.dialect.doris.type;
+
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+import
org.apache.shardingsphere.sql.parser.statement.doris.dal.DorisAdminCancelRebalanceDiskStatement;
+import
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.SQLCaseAssertContext;
+import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.dialect.doris.DorisAdminCancelRebalanceDiskStatementTestCase;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.is;
+
+/**
+ * Admin cancel rebalance disk statement assert for Doris.
+ */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+public final class DorisAdminCancelRebalanceDiskStatementAssert {
+
+ /**
+ * Assert admin cancel rebalance disk statement is correct with expected
parser result.
+ *
+ * @param assertContext assert context
+ * @param actual actual admin cancel rebalance disk statement
+ * @param expected expected admin cancel rebalance disk statement test case
+ */
+ public static void assertIs(final SQLCaseAssertContext assertContext,
final DorisAdminCancelRebalanceDiskStatement actual, final
DorisAdminCancelRebalanceDiskStatementTestCase expected) {
+ List<String> actualBackends = new ArrayList<>(actual.getBackends());
+ assertThat(assertContext.getText("backends size does not match: "),
actualBackends.size(), is(expected.getBackends().size()));
+ for (int i = 0; i < actualBackends.size(); i++) {
+ assertThat(assertContext.getText("backend does not match: "),
actualBackends.get(i), is(expected.getBackends().get(i)));
+ }
+ }
+}
diff --git
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/RootSQLParserTestCases.java
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/RootSQLParserTestCases.java
index fcfbda04372..1df997fc240 100644
---
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/RootSQLParserTestCases.java
+++
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/RootSQLParserTestCases.java
@@ -27,6 +27,7 @@ import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.s
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.dialect.doris.DorisAdminCleanTrashStatementTestCase;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.dialect.doris.DorisAdminRepairStatementTestCase;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.dialect.doris.DorisAdminCancelRepairStatementTestCase;
+import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.dialect.doris.DorisAdminCancelRebalanceDiskStatementTestCase;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.dialect.doris.DorisAdminRebalanceDiskStatementTestCase;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.dialect.doris.DorisAdminCopyTabletStatementTestCase;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.dialect.doris.DorisAdminCheckTabletStatementTestCase;
@@ -831,6 +832,9 @@ public final class RootSQLParserTestCases {
@XmlElement(name = "admin-rebalance-disk")
private final List<DorisAdminRebalanceDiskStatementTestCase>
adminRebalanceDiskTestCases = new LinkedList<>();
+ @XmlElement(name = "admin-cancel-rebalance-disk")
+ private final List<DorisAdminCancelRebalanceDiskStatementTestCase>
adminCancelRebalanceDiskTestCases = new LinkedList<>();
+
@XmlElement(name = "admin-repair")
private final List<DorisAdminRepairStatementTestCase> adminRepairTestCases
= new LinkedList<>();
diff --git
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/dal/dialect/doris/DorisAdminCancelRebalanceDiskStatementTestCase.java
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/dal/dialect/doris/DorisAdminCancelRebalanceDiskStatementTestCase.java
new file mode 100644
index 00000000000..91c3d93cc88
--- /dev/null
+++
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/dal/dialect/doris/DorisAdminCancelRebalanceDiskStatementTestCase.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.dal.dialect.doris;
+
+import lombok.Getter;
+import lombok.Setter;
+import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.SQLParserTestCase;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * Admin cancel rebalance disk statement test case for Doris.
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@Getter
+@Setter
+public final class DorisAdminCancelRebalanceDiskStatementTestCase extends
SQLParserTestCase {
+
+ @XmlElement(name = "backend")
+ private final List<String> backends = new LinkedList<>();
+}
diff --git
a/test/it/parser/src/main/resources/case/dal/admin-cancel-rebalance-disk.xml
b/test/it/parser/src/main/resources/case/dal/admin-cancel-rebalance-disk.xml
new file mode 100644
index 00000000000..d8828ca8c4d
--- /dev/null
+++ b/test/it/parser/src/main/resources/case/dal/admin-cancel-rebalance-disk.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<sql-parser-test-cases>
+ <admin-cancel-rebalance-disk sql-case-id="admin_cancel_rebalance_disk" />
+
+ <admin-cancel-rebalance-disk
sql-case-id="admin_cancel_rebalance_disk_on_backends">
+ <backend>192.168.0.1:9050</backend>
+ <backend>192.168.0.2:9050</backend>
+ </admin-cancel-rebalance-disk>
+
+ <admin-cancel-rebalance-disk
sql-case-id="admin_cancel_rebalance_disk_on_single_backend">
+ <backend>192.168.0.1:9050</backend>
+ </admin-cancel-rebalance-disk>
+</sql-parser-test-cases>
diff --git
a/test/it/parser/src/main/resources/sql/supported/dal/admin-cancel-rebalance-disk.xml
b/test/it/parser/src/main/resources/sql/supported/dal/admin-cancel-rebalance-disk.xml
new file mode 100644
index 00000000000..d2e6fe0cb7b
--- /dev/null
+++
b/test/it/parser/src/main/resources/sql/supported/dal/admin-cancel-rebalance-disk.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<sql-cases>
+ <sql-case id="admin_cancel_rebalance_disk" value="ADMIN CANCEL REBALANCE
DISK" db-types="Doris" />
+ <sql-case id="admin_cancel_rebalance_disk_on_backends" value="ADMIN CANCEL
REBALANCE DISK ON ("192.168.0.1:9050", "192.168.0.2:9050")"
db-types="Doris" />
+ <sql-case id="admin_cancel_rebalance_disk_on_single_backend" value="ADMIN
CANCEL REBALANCE DISK ON ("192.168.0.1:9050")" db-types="Doris" />
+</sql-cases>
diff --git
a/test/it/parser/src/main/resources/sql/supported/dml/select-special-function.xml
b/test/it/parser/src/main/resources/sql/supported/dml/select-special-function.xml
index 7b13f24c923..3a310d34d01 100644
---
a/test/it/parser/src/main/resources/sql/supported/dml/select-special-function.xml
+++
b/test/it/parser/src/main/resources/sql/supported/dml/select-special-function.xml
@@ -108,11 +108,11 @@
<sql-case id="select_with_weekofyear_function" value="SELECT
WEEKOFYEAR('2019-02-20');" db-types="MySQL"/>
<sql-case id="select_with_xor_function" value="SELECT 1 XOR NULL;"
db-types="MySQL,Doris"/>
<sql-case id="select_with_year_function" value="SELECT
YEAR('1999-09-09');" db-types="MySQL"/>
- <sql-case id="select_with_yearweek_function" value="SELECT
YEARWEEK('1988-08-08');" db-types="MySQL"/>
+ <sql-case id="select_with_yearweek_function" value="SELECT
YEARWEEK('1988-08-08');" db-types="MySQL,Doris"/>
<sql-case id="select_with_weight_string_function" value="SELECT
HEX(WEIGHT_STRING('MySQL'));" db-types="MySQL,Doris,Hive"/>
<sql-case id="select_row_number" value="SELECT ROW_NUMBER() OVER w FROM
t_order" db-types="MySQL" />
<sql-case id="select_rpad" value="SELECT RPAD('Hello', 10, '*')"
db-types="MySQL" />
- <sql-case id="select_rtrim" value="SELECT RTRIM(' Hello ')"
db-types="MySQL" />
+ <sql-case id="select_rtrim" value="SELECT RTRIM(' Hello ')"
db-types="MySQL,Doris" />
<sql-case id="select_schema" value="SELECT SCHEMA()" db-types="MySQL" />
<sql-case id="select_sec_to_time" value="SELECT SEC_TO_TIME(3600)"
db-types="MySQL" />
<sql-case id="select_second" value="SELECT SECOND('2020-06-10 12:34:56')"
db-types="MySQL" />