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

zhangliang 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 dde5060b98f Refactor constructor of CancelAlterTableStatement to empty 
buildAttributes (#38285)
dde5060b98f is described below

commit dde5060b98f72bfcaf8089a3efb67ec95843caad
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Mar 1 16:58:18 2026 +0800

    Refactor constructor of CancelAlterTableStatement to empty buildAttributes 
(#38285)
---
 .../statement/type/DorisDDLStatementVisitor.java   | 18 +++++--------
 .../type/ddl/alter/CancelAlterTableStatement.java  | 19 ++++++-------
 .../type/CancelAlterTableStatementAssert.java      | 31 +++++++++++++---------
 3 files changed, 36 insertions(+), 32 deletions(-)

diff --git 
a/parser/sql/engine/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/engine/doris/visitor/statement/type/DorisDDLStatementVisitor.java
 
b/parser/sql/engine/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/engine/doris/visitor/statement/type/DorisDDLStatementVisitor.java
index 81f6cf2e49d..c14c002021c 100644
--- 
a/parser/sql/engine/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/engine/doris/visitor/statement/type/DorisDDLStatementVisitor.java
+++ 
b/parser/sql/engine/dialect/doris/src/main/java/org/apache/shardingsphere/sql/parser/engine/doris/visitor/statement/type/DorisDDLStatementVisitor.java
@@ -19,6 +19,7 @@ package 
org.apache.shardingsphere.sql.parser.engine.doris.visitor.statement.type
 
 import com.google.common.base.Preconditions;
 import org.antlr.v4.runtime.ParserRuleContext;
+import org.antlr.v4.runtime.RuleContext;
 import org.antlr.v4.runtime.misc.Interval;
 import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
 import org.apache.shardingsphere.sql.parser.api.ASTNode;
@@ -1188,21 +1189,16 @@ public final class DorisDDLStatementVisitor extends 
DorisStatementVisitor implem
     
     @Override
     public ASTNode visitCancelAlterTable(final CancelAlterTableContext ctx) {
-        CancelAlterTableStatement result = new 
CancelAlterTableStatement(getDatabaseType());
-        result.setTable((SimpleTableSegment) visit(ctx.tableName()));
+        String alterType = null;
         if (null != ctx.COLUMN()) {
-            result.setAlterType("COLUMN");
+            alterType = "COLUMN";
         } else if (null != ctx.MATERIALIZED()) {
-            result.setAlterType("MATERIALIZED VIEW");
+            alterType = "MATERIALIZED VIEW";
         } else if (null != ctx.ROLLUP()) {
-            result.setAlterType("ROLLUP");
+            alterType = "ROLLUP";
         }
-        if (null != ctx.jobIdList()) {
-            for (JobIdContext each : ctx.jobIdList().jobId()) {
-                result.getJobIds().add(each.getText());
-            }
-        }
-        return result;
+        return new CancelAlterTableStatement(getDatabaseType(), 
(SimpleTableSegment) visit(ctx.tableName()),
+                alterType, null == ctx.jobIdList() ? Collections.emptyList() : 
ctx.jobIdList().jobId().stream().map(RuleContext::getText).collect(Collectors.toList()));
     }
     
     @Override
diff --git 
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/type/ddl/alter/CancelAlterTableStatement.java
 
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/type/ddl/alter/CancelAlterTableStatement.java
index d244288d42b..4e52e88a02b 100644
--- 
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/type/ddl/alter/CancelAlterTableStatement.java
+++ 
b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/type/ddl/alter/CancelAlterTableStatement.java
@@ -18,37 +18,38 @@
 package 
org.apache.shardingsphere.sql.parser.statement.core.statement.type.ddl.alter;
 
 import lombok.Getter;
-import lombok.Setter;
 import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
 import 
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.SimpleTableSegment;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.attribute.SQLStatementAttributes;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.attribute.type.TableSQLStatementAttribute;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.type.ddl.DDLStatement;
 
-import java.util.LinkedList;
+import java.util.Collection;
 import java.util.List;
 
 /**
  * Cancel alter table statement.
  */
 @Getter
-@Setter
 public final class CancelAlterTableStatement extends DDLStatement {
     
-    private SimpleTableSegment table;
+    private final SimpleTableSegment table;
     
-    private String alterType;
+    private final String alterType;
     
-    private final List<String> jobIds = new LinkedList<>();
+    private final Collection<String> jobIds;
     
-    private SQLStatementAttributes attributes;
+    private final SQLStatementAttributes attributes;
     
-    public CancelAlterTableStatement(final DatabaseType databaseType) {
+    public CancelAlterTableStatement(final DatabaseType databaseType, final 
SimpleTableSegment table, final String alterType, final List<String> jobIds) {
         super(databaseType);
+        this.table = table;
+        this.alterType = alterType;
+        this.jobIds = jobIds;
+        attributes = new SQLStatementAttributes(new 
TableSQLStatementAttribute(table));
     }
     
     @Override
     public void buildAttributes() {
-        attributes = new SQLStatementAttributes(new 
TableSQLStatementAttribute(table));
     }
 }
diff --git 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/ddl/standard/type/CancelAlterTableStatementAssert.java
 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/ddl/standard/type/CancelAlterTableStatementAssert.java
index 412dbdda00e..e30754393ef 100644
--- 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/ddl/standard/type/CancelAlterTableStatementAssert.java
+++ 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/statement/ddl/standard/type/CancelAlterTableStatementAssert.java
@@ -23,9 +23,15 @@ import 
org.apache.shardingsphere.sql.parser.statement.core.statement.type.ddl.al
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.SQLCaseAssertContext;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.asserts.segment.table.TableAssert;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.statement.ddl.standard.alter.CancelAlterTableStatementTestCase;
-import org.hamcrest.MatcherAssert;
-import org.hamcrest.Matchers;
-import org.junit.jupiter.api.Assertions;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.is;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Cancel alter table statement assert.
@@ -48,26 +54,27 @@ public final class CancelAlterTableStatementAssert {
     
     private static void assertTable(final SQLCaseAssertContext assertContext, 
final CancelAlterTableStatement actual, final CancelAlterTableStatementTestCase 
expected) {
         if (null == expected.getTable()) {
-            Assertions.assertNull(actual.getTable(), 
assertContext.getText("Actual table segment should not exist."));
+            assertNull(actual.getTable(), assertContext.getText("Actual table 
segment should not exist."));
         } else {
-            Assertions.assertNotNull(actual.getTable(), 
assertContext.getText("Actual table segment should exist."));
+            assertNotNull(actual.getTable(), assertContext.getText("Actual 
table segment should exist."));
             TableAssert.assertIs(assertContext, actual.getTable(), 
expected.getTable());
         }
     }
     
     private static void assertAlterType(final SQLCaseAssertContext 
assertContext, final CancelAlterTableStatement actual, final 
CancelAlterTableStatementTestCase expected) {
-        Assertions.assertNotNull(expected.getAlterType(), 
assertContext.getText("Expected alter type should exist."));
-        Assertions.assertNotNull(actual.getAlterType(), 
assertContext.getText("Actual alter type should exist."));
-        MatcherAssert.assertThat(assertContext.getText("Alter type assertion 
error: "), actual.getAlterType(), Matchers.is(expected.getAlterType()));
+        assertNotNull(expected.getAlterType(), assertContext.getText("Expected 
alter type should exist."));
+        assertNotNull(actual.getAlterType(), assertContext.getText("Actual 
alter type should exist."));
+        assertThat(assertContext.getText("Alter type assertion error: "), 
actual.getAlterType(), is(expected.getAlterType()));
     }
     
     private static void assertJobIds(final SQLCaseAssertContext assertContext, 
final CancelAlterTableStatement actual, final CancelAlterTableStatementTestCase 
expected) {
-        if (null == expected.getJobIds() || expected.getJobIds().isEmpty()) {
-            Assertions.assertTrue(actual.getJobIds().isEmpty(), 
assertContext.getText("Actual job IDs should not exist."));
+        if (expected.getJobIds().isEmpty()) {
+            assertTrue(actual.getJobIds().isEmpty(), 
assertContext.getText("Actual job IDs should not exist."));
         } else {
-            MatcherAssert.assertThat(assertContext.getText("Job IDs size 
assertion error: "), actual.getJobIds().size(), 
Matchers.is(expected.getJobIds().size()));
+            assertThat(assertContext.getText("Job IDs size assertion error: 
"), actual.getJobIds().size(), is(expected.getJobIds().size()));
+            List<String> actualJobIds = new ArrayList<>(actual.getJobIds());
             for (int i = 0; i < expected.getJobIds().size(); i++) {
-                
MatcherAssert.assertThat(assertContext.getText(String.format("Job ID assertion 
error at index %d: ", i)), actual.getJobIds().get(i), 
Matchers.is(expected.getJobIds().get(i)));
+                assertThat(assertContext.getText(String.format("Job ID 
assertion error at index %d: ", i)), actualJobIds.get(i), 
is(expected.getJobIds().get(i)));
             }
         }
     }

Reply via email to