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)));
}
}
}