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 72d13fbd504 Support Hive ALTER TABLE... EXECUTE ROLLBACK about iceberg
statement parse (#38876)
72d13fbd504 is described below
commit 72d13fbd5042ab7fdbd66b5ba56c86064e139077
Author: Claire <[email protected]>
AuthorDate: Sun Jun 21 15:45:20 2026 +0800
Support Hive ALTER TABLE... EXECUTE ROLLBACK about iceberg statement parse
(#38876)
* support hive table rollback
* release-notes
---
RELEASE-NOTES.md | 1 +
.../src/main/antlr4/imports/hive/DDLStatement.g4 | 6 +++
.../statement/type/HiveDDLStatementVisitor.java | 18 ++++++++
.../ddl/table/TableRollbackDefinitionSegment.java | 49 ++++++++++++++++++++++
.../type/ddl/table/AlterTableStatement.java | 14 +++++++
.../standard/type/AlterTableStatementAssert.java | 15 +++++++
.../ExpectedTableRollbackDefinition.java | 39 +++++++++++++++++
.../table/AlterTableStatementTestCase.java | 4 ++
.../src/main/resources/case/ddl/alter-table.xml | 14 +++++++
.../resources/sql/supported/ddl/alter-table.xml | 2 +
10 files changed, 162 insertions(+)
diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md
index c4c581ec0df..ffb9ce3a480 100644
--- a/RELEASE-NOTES.md
+++ b/RELEASE-NOTES.md
@@ -37,6 +37,7 @@
1. SQL Parser: Support Hive OPTIMIZE Statement about iceberg statement parse -
[#38877](https://github.com/apache/shardingsphere/pull/38877)
1. SQL Parser: Support Hive DELETE ORPHAN-FILES Statement about iceberg
statement parse - [#38669](https://github.com/apache/shardingsphere/pull/38669)
1. SQL Parser: Support Hive ALTER TABLE... EXECUTE CHERRY-PICK about iceberg
statement parse- [#38823](https://github.com/apache/shardingsphere/pull/38823)
+1. SQL Parser: Support Hive ALTER TABLE... EXECUTE ROLLBACK about iceberg
statement parse- [#38876](https://github.com/apache/shardingsphere/pull/38876)
1. SQL Parser: Support MySQL Function statement parse -
[#38182](https://github.com/apache/shardingsphere/pull/38182)
[#38219](https://github.com/apache/shardingsphere/pull/38219)
1. SQL Parser: Support additional MySQL SELECT index hint and MATCH ...
AGAINST WITH ROLLUP syntax -
[#38233](https://github.com/apache/shardingsphere/pull/38233)
1. SQL Parser: Support MySQL CREATE EVENT and additional CREATE FUNCTION
RETURN syntax - [#38237](https://github.com/apache/shardingsphere/pull/38237)
diff --git
a/parser/sql/engine/dialect/hive/src/main/antlr4/imports/hive/DDLStatement.g4
b/parser/sql/engine/dialect/hive/src/main/antlr4/imports/hive/DDLStatement.g4
index f76e4329972..7ee459b8471 100644
---
a/parser/sql/engine/dialect/hive/src/main/antlr4/imports/hive/DDLStatement.g4
+++
b/parser/sql/engine/dialect/hive/src/main/antlr4/imports/hive/DDLStatement.g4
@@ -83,6 +83,7 @@ alterTable
| alterTableCommonClause dropTag
| alterTableCommonClause deleteOrphanFile
| alterTableCommonClause cherryPickClause
+ | alterTableCommonClause tableRollback
;
createView
@@ -545,3 +546,8 @@ deleteOrphanFile
cherryPickClause
: EXECUTE CHERRY_PICK NUMBER_
;
+
+tableRollback
+ : EXECUTE ROLLBACK LP_ string_ RP_
+ | EXECUTE ROLLBACK LP_ NUMBER_ RP_
+ ;
diff --git
a/parser/sql/engine/dialect/hive/src/main/java/org/apache/shardingsphere/sql/parser/engine/hive/visitor/statement/type/HiveDDLStatementVisitor.java
b/parser/sql/engine/dialect/hive/src/main/java/org/apache/shardingsphere/sql/parser/engine/hive/visitor/statement/type/HiveDDLStatementVisitor.java
index 79b98a2c351..caebb3989ad 100644
---
a/parser/sql/engine/dialect/hive/src/main/java/org/apache/shardingsphere/sql/parser/engine/hive/visitor/statement/type/HiveDDLStatementVisitor.java
+++
b/parser/sql/engine/dialect/hive/src/main/java/org/apache/shardingsphere/sql/parser/engine/hive/visitor/statement/type/HiveDDLStatementVisitor.java
@@ -66,6 +66,7 @@ import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.constrain
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.index.IndexNameSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.index.IndexSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.table.CherryPickDefinitionSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.table.TableRollbackDefinitionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.column.ColumnSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.simple.LiteralExpressionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.DataTypeSegment;
@@ -96,6 +97,7 @@ import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.dml.Se
import
org.apache.shardingsphere.sql.parser.statement.core.value.collection.CollectionValue;
import
org.apache.shardingsphere.sql.parser.statement.core.value.identifier.IdentifierValue;
import
org.apache.shardingsphere.sql.parser.statement.core.value.literal.impl.NumberLiteralValue;
+import
org.apache.shardingsphere.sql.parser.statement.core.value.literal.impl.StringLiteralValue;
import java.util.Collection;
import java.util.Collections;
@@ -158,6 +160,22 @@ public final class HiveDDLStatementVisitor extends
HiveStatementVisitor implemen
new
NumberLiteralValue(ctx.cherryPickClause().NUMBER_().getText()).getValue());
result.cherryPickDefinition(new
CherryPickDefinitionSegment(ctx.cherryPickClause().EXECUTE().getSymbol().getStartIndex(),
numberStopIndex, snapshotId));
}
+ if (null != ctx.tableRollback()) {
+ int startIndex =
ctx.tableRollback().EXECUTE().getSymbol().getStartIndex();
+ if (null != ctx.tableRollback().string_()) {
+ int stringStartIndex =
ctx.tableRollback().string_().getStart().getStartIndex();
+ int stringStopIndex =
ctx.tableRollback().string_().getStop().getStopIndex();
+ LiteralExpressionSegment timestamp = new
LiteralExpressionSegment(stringStartIndex, stringStopIndex,
+ new
StringLiteralValue(ctx.tableRollback().string_().getText()).getValue());
+ result.tableRollbackDefinition(new
TableRollbackDefinitionSegment(startIndex, stringStopIndex, timestamp, null));
+ } else {
+ int numberStartIndex =
ctx.tableRollback().NUMBER_().getSymbol().getStartIndex();
+ int numberStopIndex =
ctx.tableRollback().NUMBER_().getSymbol().getStopIndex();
+ LiteralExpressionSegment snapshotId = new
LiteralExpressionSegment(numberStartIndex, numberStopIndex,
+ new
NumberLiteralValue(ctx.tableRollback().NUMBER_().getText()).getValue());
+ result.tableRollbackDefinition(new
TableRollbackDefinitionSegment(startIndex, numberStopIndex, null, snapshotId));
+ }
+ }
return result.build();
}
diff --git
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/segment/ddl/table/TableRollbackDefinitionSegment.java
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/segment/ddl/table/TableRollbackDefinitionSegment.java
new file mode 100644
index 00000000000..ba146e755b3
--- /dev/null
+++
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/segment/ddl/table/TableRollbackDefinitionSegment.java
@@ -0,0 +1,49 @@
+/*
+ * 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.core.segment.ddl.table;
+
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.AlterDefinitionSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.simple.LiteralExpressionSegment;
+
+import java.util.Optional;
+
+/**
+ * Table rollback definition segment.
+ */
+@RequiredArgsConstructor
+@Getter
+public final class TableRollbackDefinitionSegment implements
AlterDefinitionSegment {
+
+ private final int startIndex;
+
+ private final int stopIndex;
+
+ private final LiteralExpressionSegment timestamp;
+
+ private final LiteralExpressionSegment snapshotId;
+
+ public Optional<LiteralExpressionSegment> getTimestamp() {
+ return Optional.ofNullable(timestamp);
+ }
+
+ public Optional<LiteralExpressionSegment> getSnapshotId() {
+ return Optional.ofNullable(snapshotId);
+ }
+}
diff --git
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/type/ddl/table/AlterTableStatement.java
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/type/ddl/table/AlterTableStatement.java
index f1d2f693a03..df4629882b0 100644
---
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/type/ddl/table/AlterTableStatement.java
+++
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/type/ddl/table/AlterTableStatement.java
@@ -53,6 +53,7 @@ import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.rollup.Re
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.table.AlgorithmTypeSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.table.ConvertTableDefinitionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.table.CherryPickDefinitionSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.table.TableRollbackDefinitionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.table.LockTableSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.table.ModifyTableCommentSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.table.ReplaceTableDefinitionSegment;
@@ -93,6 +94,8 @@ public final class AlterTableStatement extends DDLStatement {
private final CherryPickDefinitionSegment cherryPickDefinition;
+ private final TableRollbackDefinitionSegment tableRollbackDefinition;
+
private final Collection<PropertiesSegment> setPropertiesDefinitions;
private final Collection<EnableFeatureSegment> enableFeatureDefinitions;
@@ -150,6 +153,7 @@ public final class AlterTableStatement extends DDLStatement
{
final ConvertTableDefinitionSegment
convertTableDefinition, final ModifyCollectionRetrievalSegment
modifyCollectionRetrieval,
final AlgorithmTypeSegment algorithmSegment,
final LockTableSegment lockTableSegment, final DropPrimaryKeyDefinitionSegment
dropPrimaryKeyDefinition,
final CherryPickDefinitionSegment
cherryPickDefinition,
+ final TableRollbackDefinitionSegment
tableRollbackDefinition,
@Singular("setPropertiesDefinition") final
Collection<PropertiesSegment> setPropertiesDefinitions,
@Singular("enableFeatureDefinition") final
Collection<EnableFeatureSegment> enableFeatureDefinitions,
@Singular("modifyTableCommentDefinition")
final Collection<ModifyTableCommentSegment> modifyTableCommentDefinitions,
@@ -185,6 +189,7 @@ public final class AlterTableStatement extends DDLStatement
{
this.lockTableSegment = lockTableSegment;
this.dropPrimaryKeyDefinition = dropPrimaryKeyDefinition;
this.cherryPickDefinition = cherryPickDefinition;
+ this.tableRollbackDefinition = tableRollbackDefinition;
this.setPropertiesDefinitions = setPropertiesDefinitions;
this.enableFeatureDefinitions = enableFeatureDefinitions;
this.modifyTableCommentDefinitions = modifyTableCommentDefinitions;
@@ -313,6 +318,15 @@ public final class AlterTableStatement extends
DDLStatement {
return Optional.ofNullable(cherryPickDefinition);
}
+ /**
+ * Get table rollback definition.
+ *
+ * @return table rollback definition
+ */
+ public Optional<TableRollbackDefinitionSegment>
getTableRollbackDefinition() {
+ return Optional.ofNullable(tableRollbackDefinition);
+ }
+
private class AlterTableConstraintSQLStatementAttribute implements
ConstraintSQLStatementAttribute {
@Override
diff --git
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/ddl/standard/type/AlterTableStatementAssert.java
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/ddl/standard/type/AlterTableStatementAssert.java
index 730f995402d..8f0e564ff7f 100644
---
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/ddl/standard/type/AlterTableStatementAssert.java
+++
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/ddl/standard/type/AlterTableStatementAssert.java
@@ -44,6 +44,7 @@ import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.table.Mod
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.ExpressionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.primary.DropPrimaryKeyDefinitionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.table.CherryPickDefinitionSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.table.TableRollbackDefinitionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.column.alter.OrderByColumnDefinitionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.rollup.RenameRollupDefinitionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.table.ConvertTableDefinitionSegment;
@@ -139,6 +140,7 @@ public final class AlterTableStatementAssert {
assertModifyCollectionRetrievalDefinitions(assertContext, actual,
expected);
assertDropPrimaryKeyDefinition(assertContext, actual, expected);
assertCherryPickDefinition(assertContext, actual, expected);
+ assertTableRollbackDefinition(assertContext, actual, expected);
assertSetPropertiesDefinitions(assertContext, actual, expected);
assertEnableFeatureDefinitions(assertContext, actual, expected);
assertModifyTableCommentDefinitions(assertContext, actual, expected);
@@ -590,6 +592,19 @@ public final class AlterTableStatementAssert {
}
}
+ private static void assertTableRollbackDefinition(final
SQLCaseAssertContext assertContext, final AlterTableStatement actual, final
AlterTableStatementTestCase expected) {
+ Optional<TableRollbackDefinitionSegment> tableRollbackDefinition =
actual.getTableRollbackDefinition();
+ if (null == expected.getTableRollbackDefinition()) {
+ assertFalse(tableRollbackDefinition.isPresent(),
assertContext.getText("Actual table rollback definition should not exist."));
+ } else {
+ assertTrue(tableRollbackDefinition.isPresent(),
assertContext.getText("Actual table rollback definition should exist."));
+ TableRollbackDefinitionSegment actualTableRollbackDefinition =
tableRollbackDefinition.get();
+ ExpressionAssert.assertLiteralExpression(assertContext,
actualTableRollbackDefinition.getTimestamp().orElse(null),
expected.getTableRollbackDefinition().getTimestamp());
+ ExpressionAssert.assertLiteralExpression(assertContext,
actualTableRollbackDefinition.getSnapshotId().orElse(null),
expected.getTableRollbackDefinition().getSnapshotId());
+ SQLSegmentAssert.assertIs(assertContext,
actualTableRollbackDefinition, expected.getTableRollbackDefinition());
+ }
+ }
+
private static void assertSetPropertiesDefinitions(final
SQLCaseAssertContext assertContext, final AlterTableStatement actual, final
AlterTableStatementTestCase expected) {
assertThat(assertContext.getText("Set properties definitions size
assertion error: "), actual.getSetPropertiesDefinitions().size(),
is(expected.getSetProperties().size()));
int count = 0;
diff --git
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/segment/impl/definition/ExpectedTableRollbackDefinition.java
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/segment/impl/definition/ExpectedTableRollbackDefinition.java
new file mode 100644
index 00000000000..09be63fda20
--- /dev/null
+++
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/segment/impl/definition/ExpectedTableRollbackDefinition.java
@@ -0,0 +1,39 @@
+/*
+ * 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.segment.impl.definition;
+
+import lombok.Getter;
+import lombok.Setter;
+import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.AbstractExpectedSQLSegment;
+import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.expr.simple.ExpectedLiteralExpression;
+
+import javax.xml.bind.annotation.XmlElement;
+
+/**
+ * Expected table rollback definition.
+ */
+@Getter
+@Setter
+public final class ExpectedTableRollbackDefinition extends
AbstractExpectedSQLSegment {
+
+ @XmlElement(name = "timestamp")
+ private ExpectedLiteralExpression timestamp;
+
+ @XmlElement(name = "snapshot-id")
+ private ExpectedLiteralExpression snapshotId;
+}
diff --git
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/ddl/standard/table/AlterTableStatementTestCase.java
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/ddl/standard/table/AlterTableStatementTestCase.java
index 892e8242787..649d2950af8 100644
---
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/ddl/standard/table/AlterTableStatementTestCase.java
+++
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/statement/ddl/standard/table/AlterTableStatementTestCase.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.segment.impl.definition.ExpectedConvertTableDefinition;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.definition.ExpectedDropPrimaryKeyDefinition;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.definition.ExpectedCherryPickDefinition;
+import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.definition.ExpectedTableRollbackDefinition;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.definition.ExpectedModifyCollectionRetrievalDefinition;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.definition.ExpectedModifyColumnDefinition;
import
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.definition.ExpectedRenameColumnDefinition;
@@ -127,6 +128,9 @@ public final class AlterTableStatementTestCase extends
SQLParserTestCase {
@XmlElement(name = "cherry-pick")
private ExpectedCherryPickDefinition cherryPickDefinition;
+ @XmlElement(name = "table-rollback")
+ private ExpectedTableRollbackDefinition tableRollbackDefinition;
+
@XmlElement(name = "set-properties")
private final List<ExpectedProperties> setProperties = new LinkedList<>();
diff --git a/test/it/parser/src/main/resources/case/ddl/alter-table.xml
b/test/it/parser/src/main/resources/case/ddl/alter-table.xml
index 8728da6cb63..b94556c2a6a 100644
--- a/test/it/parser/src/main/resources/case/ddl/alter-table.xml
+++ b/test/it/parser/src/main/resources/case/ddl/alter-table.xml
@@ -3736,4 +3736,18 @@
<snapshot-id value="8602659039622823857" start-index="37"
stop-index="55" />
</cherry-pick>
</alter-table>
+
+ <alter-table sql-case-id="alter_execute_rollback_timestamp">
+ <table name="ice_t" start-index="12" stop-index="16" />
+ <table-rollback start-index="18" stop-index="55">
+ <timestamp value="2022-05-12 00:00:00" start-index="35"
stop-index="55" />
+ </table-rollback>
+ </alter-table>
+
+ <alter-table sql-case-id="alter_execute_rollback_snapshot_id">
+ <table name="ice_t" start-index="12" stop-index="16" />
+ <table-rollback start-index="18" stop-index="38">
+ <snapshot-id value="1111" start-index="35" stop-index="38" />
+ </table-rollback>
+ </alter-table>
</sql-parser-test-cases>
diff --git
a/test/it/parser/src/main/resources/sql/supported/ddl/alter-table.xml
b/test/it/parser/src/main/resources/sql/supported/ddl/alter-table.xml
index fd6d6e333f0..4c8f8e940b3 100644
--- a/test/it/parser/src/main/resources/sql/supported/ddl/alter-table.xml
+++ b/test/it/parser/src/main/resources/sql/supported/ddl/alter-table.xml
@@ -472,4 +472,6 @@
<sql-case id="alter_table_modify_column_with_key_null_comment_doris"
value="ALTER TABLE example_db.my_table MODIFY COLUMN k3 VARCHAR(50) KEY NULL
COMMENT 'to 50'" db-types="Doris" />
<sql-case id="alter_table_modify_column_with_key_not_null_doris"
value="ALTER TABLE example_db.my_table MODIFY COLUMN k3 VARCHAR(50) KEY NOT
NULL COMMENT 'not null'" db-types="Doris" />
<sql-case id="alter_table_execute_cherry_pick" value="ALTER table test
EXECUTE CHERRY-PICK 8602659039622823857;" db-types="Hive" />
+ <sql-case id="alter_execute_rollback_timestamp" value="ALTER TABLE ice_t
EXECUTE ROLLBACK('2022-05-12 00:00:00')" db-types="Hive" />
+ <sql-case id="alter_execute_rollback_snapshot_id" value="ALTER TABLE ice_t
EXECUTE ROLLBACK(1111);" db-types="Hive" />
</sql-cases>