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 6587777219f Refactor constructor of AlterTableStatement to empty
buildAttributes (#38281)
6587777219f is described below
commit 6587777219fd191403ba341a28cf12b97b67e048
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Mar 1 15:51:01 2026 +0800
Refactor constructor of AlterTableStatement to empty buildAttributes
(#38281)
---
.../ddl/EncryptAlterTableTokenGeneratorTest.java | 17 +-
.../ShardingAlterTableSupportedCheckerTest.java | 6 +-
.../ShardingAlterTableRouteContextCheckerTest.java | 8 +-
.../statement/ddl/AlterTableStatementBinder.java | 34 ++--
.../AlterTablePushDownMetaDataRefresherTest.java | 10 +-
.../statement/type/DorisDDLStatementVisitor.java | 65 ++++---
.../type/FirebirdDDLStatementVisitor.java | 15 +-
.../statement/type/HiveDDLStatementVisitor.java | 16 +-
.../statement/type/MySQLDDLStatementVisitor.java | 37 ++--
.../type/OpenGaussDDLStatementVisitor.java | 23 ++-
.../statement/type/OracleDDLStatementVisitor.java | 19 +-
.../type/PostgreSQLDDLStatementVisitor.java | 23 ++-
.../statement/type/SQL92DDLStatementVisitor.java | 15 +-
.../type/SQLServerDDLStatementVisitor.java | 17 +-
.../type/ddl/table/AlterTableStatement.java | 197 +++++++++++++--------
15 files changed, 274 insertions(+), 228 deletions(-)
diff --git
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/ddl/EncryptAlterTableTokenGeneratorTest.java
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/ddl/EncryptAlterTableTokenGeneratorTest.java
index 00bf7a0fb34..92b990ba045 100644
---
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/ddl/EncryptAlterTableTokenGeneratorTest.java
+++
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/ddl/EncryptAlterTableTokenGeneratorTest.java
@@ -119,11 +119,11 @@ class EncryptAlterTableTokenGeneratorTest {
}
private SQLStatement createAddColumnStatement() {
- AlterTableStatement result = new AlterTableStatement(databaseType);
- result.setTable(new SimpleTableSegment(new TableNameSegment(0, 0, new
IdentifierValue("t_encrypt"))));
ColumnDefinitionSegment columnDefinitionSegment = new
ColumnDefinitionSegment(
33, 67, new ColumnSegment(33, 50, new
IdentifierValue("certificate_number")), new DataTypeSegment(), false, false,
"");
- result.getAddColumnDefinitions().add(new
AddColumnDefinitionSegment(22, 67,
Collections.singleton(columnDefinitionSegment)));
+ AlterTableStatement result =
AlterTableStatement.builder().databaseType(databaseType)
+ .table(new SimpleTableSegment(new TableNameSegment(0, 0, new
IdentifierValue("t_encrypt"))))
+ .addColumnDefinition(new AddColumnDefinitionSegment(22, 67,
Collections.singleton(columnDefinitionSegment))).build();
result.buildAttributes();
return result;
}
@@ -134,11 +134,11 @@ class EncryptAlterTableTokenGeneratorTest {
}
private SQLStatement createModifyColumnStatement() {
- AlterTableStatement result = new AlterTableStatement(databaseType);
- result.setTable(new SimpleTableSegment(new TableNameSegment(0, 0, new
IdentifierValue("t_encrypt"))));
ColumnDefinitionSegment columnDefinitionSegment = new
ColumnDefinitionSegment(
36, 70, new ColumnSegment(36, 53, new
IdentifierValue("certificate_number")), new DataTypeSegment(), false, false,
"");
- result.getModifyColumnDefinitions().add(new
ModifyColumnDefinitionSegment(22, 70, columnDefinitionSegment));
+ AlterTableStatement result =
AlterTableStatement.builder().databaseType(databaseType)
+ .table(new SimpleTableSegment(new TableNameSegment(0, 0, new
IdentifierValue("t_encrypt"))))
+ .modifyColumnDefinition(new ModifyColumnDefinitionSegment(22,
70, columnDefinitionSegment)).build();
result.buildAttributes();
return result;
}
@@ -149,13 +149,12 @@ class EncryptAlterTableTokenGeneratorTest {
}
private SQLStatement createChangeColumnStatement() {
- AlterTableStatement result = new AlterTableStatement(databaseType);
- result.setTable(new SimpleTableSegment(new TableNameSegment(0, 0, new
IdentifierValue("t_encrypt"))));
ColumnDefinitionSegment columnDefinitionSegment = new
ColumnDefinitionSegment(
55, 93, new ColumnSegment(55, 76, new
IdentifierValue("certificate_number_new")), new DataTypeSegment(), false,
false, "");
ChangeColumnDefinitionSegment changeColumnDefinitionSegment = new
ChangeColumnDefinitionSegment(22, 93, columnDefinitionSegment);
changeColumnDefinitionSegment.setPreviousColumn(new ColumnSegment(36,
53, new IdentifierValue("certificate_number")));
- result.getChangeColumnDefinitions().add(changeColumnDefinitionSegment);
+ AlterTableStatement result =
AlterTableStatement.builder().databaseType(databaseType)
+ .table(new SimpleTableSegment(new TableNameSegment(0, 0, new
IdentifierValue("t_encrypt")))).changeColumnDefinition(changeColumnDefinitionSegment).build();
result.buildAttributes();
return result;
}
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/checker/sql/ddl/ShardingAlterTableSupportedCheckerTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/checker/sql/ddl/ShardingAlterTableSupportedCheckerTest.java
index 99ea141c739..d15421190d8 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/checker/sql/ddl/ShardingAlterTableSupportedCheckerTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/checker/sql/ddl/ShardingAlterTableSupportedCheckerTest.java
@@ -55,9 +55,9 @@ class ShardingAlterTableSupportedCheckerTest {
@Test
void assertCheckWithRenameTableWithShardingTable() {
- AlterTableStatement sqlStatement = new
AlterTableStatement(databaseType);
- sqlStatement.setTable(new SimpleTableSegment(new TableNameSegment(0,
0, new IdentifierValue("t_order"))));
- sqlStatement.setRenameTable(new SimpleTableSegment(new
TableNameSegment(0, 0, new IdentifierValue("t_order_new"))));
+ AlterTableStatement sqlStatement =
AlterTableStatement.builder().databaseType(databaseType)
+ .table(new SimpleTableSegment(new TableNameSegment(0, 0, new
IdentifierValue("t_order"))))
+ .renameTable(new SimpleTableSegment(new TableNameSegment(0, 0,
new IdentifierValue("t_order_new")))).build();
sqlStatement.buildAttributes();
CommonSQLStatementContext sqlStatementContext = new
CommonSQLStatementContext(sqlStatement);
when(rule.containsShardingTable(Arrays.asList("t_order",
"t_order_new"))).thenReturn(true);
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/checker/ddl/ShardingAlterTableRouteContextCheckerTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/checker/ddl/ShardingAlterTableRouteContextCheckerTest.java
index 1da74666625..591cb6fb361 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/checker/ddl/ShardingAlterTableRouteContextCheckerTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/route/engine/checker/ddl/ShardingAlterTableRouteContextCheckerTest.java
@@ -68,8 +68,8 @@ class ShardingAlterTableRouteContextCheckerTest {
@Test
void assertCheckWithSameRouteResultShardingTableForPostgreSQL() {
- AlterTableStatement sqlStatement = new
AlterTableStatement(databaseType);
- sqlStatement.setTable(new SimpleTableSegment(new TableNameSegment(0,
0, new IdentifierValue("t_order"))));
+ AlterTableStatement sqlStatement =
AlterTableStatement.builder().databaseType(databaseType)
+ .table(new SimpleTableSegment(new TableNameSegment(0, 0, new
IdentifierValue("t_order")))).build();
sqlStatement.buildAttributes();
when(shardingRule.isShardingTable("t_order")).thenReturn(true);
when(shardingRule.getShardingTable("t_order")).thenReturn(new
ShardingTable(Arrays.asList("ds_0", "ds_1"), "t_order"));
@@ -83,8 +83,8 @@ class ShardingAlterTableRouteContextCheckerTest {
@Test
void assertCheckWithDifferentRouteResultShardingTableForPostgreSQL() {
- AlterTableStatement sqlStatement = new
AlterTableStatement(databaseType);
- sqlStatement.setTable(new SimpleTableSegment(new TableNameSegment(0,
0, new IdentifierValue("t_order"))));
+ AlterTableStatement sqlStatement =
AlterTableStatement.builder().databaseType(databaseType)
+ .table(new SimpleTableSegment(new TableNameSegment(0, 0, new
IdentifierValue("t_order")))).build();
sqlStatement.buildAttributes();
when(shardingRule.isShardingTable("t_order")).thenReturn(true);
when(shardingRule.getShardingTable("t_order")).thenReturn(new
ShardingTable(Arrays.asList("ds_0", "ds_1"), "t_order"));
diff --git
a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/AlterTableStatementBinder.java
b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/AlterTableStatementBinder.java
index ed1fb622bd0..08e291e6aba 100644
---
a/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/AlterTableStatementBinder.java
+++
b/infra/binder/core/src/main/java/org/apache/shardingsphere/infra/binder/engine/statement/ddl/AlterTableStatementBinder.java
@@ -42,24 +42,22 @@ public final class AlterTableStatementBinder implements
SQLStatementBinder<Alter
}
private AlterTableStatement copy(final AlterTableStatement sqlStatement,
final SimpleTableSegment boundTable, final SimpleTableSegment boundRenameTable)
{
- AlterTableStatement result = new
AlterTableStatement(sqlStatement.getDatabaseType());
- result.setTable(boundTable);
- result.setRenameTable(boundRenameTable);
- // TODO bind column and reference table if kernel need use them
-
sqlStatement.getConvertTableDefinition().ifPresent(result::setConvertTableDefinition);
-
result.getAddColumnDefinitions().addAll(sqlStatement.getAddColumnDefinitions());
-
result.getModifyColumnDefinitions().addAll(sqlStatement.getModifyColumnDefinitions());
-
result.getChangeColumnDefinitions().addAll(sqlStatement.getChangeColumnDefinitions());
-
result.getDropColumnDefinitions().addAll(sqlStatement.getDropColumnDefinitions());
-
result.getAddConstraintDefinitions().addAll(sqlStatement.getAddConstraintDefinitions());
-
result.getValidateConstraintDefinitions().addAll(sqlStatement.getValidateConstraintDefinitions());
-
result.getModifyConstraintDefinitions().addAll(sqlStatement.getModifyConstraintDefinitions());
-
result.getDropConstraintDefinitions().addAll(sqlStatement.getDropConstraintDefinitions());
-
result.getDropIndexDefinitions().addAll(sqlStatement.getDropIndexDefinitions());
-
result.getRenameColumnDefinitions().addAll(sqlStatement.getRenameColumnDefinitions());
-
result.getRenameIndexDefinitions().addAll(sqlStatement.getRenameIndexDefinitions());
-
sqlStatement.getModifyCollectionRetrieval().ifPresent(result::setModifyCollectionRetrieval);
-
sqlStatement.getDropPrimaryKeyDefinition().ifPresent(result::setDropPrimaryKeyDefinition);
+ AlterTableStatement result =
AlterTableStatement.builder().databaseType(sqlStatement.getDatabaseType()).table(boundTable).renameTable(boundRenameTable)
+
.replaceTable(sqlStatement.getReplaceTable().orElse(null)).convertTableDefinition(sqlStatement.getConvertTableDefinition().orElse(null))
+
.modifyCollectionRetrieval(sqlStatement.getModifyCollectionRetrieval().orElse(null)).algorithmSegment(sqlStatement.getGetAlgorithmSegment().orElse(null))
+
.lockTableSegment(sqlStatement.getLockTableSegment().orElse(null)).dropPrimaryKeyDefinition(sqlStatement.getDropPrimaryKeyDefinition().orElse(null))
+
.setPropertiesDefinitions(sqlStatement.getSetPropertiesDefinitions()).enableFeatureDefinitions(sqlStatement.getEnableFeatureDefinitions())
+
.modifyTableCommentDefinitions(sqlStatement.getModifyTableCommentDefinitions()).modifyEngineDefinitions(sqlStatement.getModifyEngineDefinitions())
+
.modifyDistributionDefinitions(sqlStatement.getModifyDistributionDefinitions()).addColumnDefinitions(sqlStatement.getAddColumnDefinitions())
+
.modifyColumnDefinitions(sqlStatement.getModifyColumnDefinitions()).changeColumnDefinitions(sqlStatement.getChangeColumnDefinitions())
+
.dropColumnDefinitions(sqlStatement.getDropColumnDefinitions()).addConstraintDefinitions(sqlStatement.getAddConstraintDefinitions())
+
.validateConstraintDefinitions(sqlStatement.getValidateConstraintDefinitions()).modifyConstraintDefinitions(sqlStatement.getModifyConstraintDefinitions())
+
.dropConstraintDefinitions(sqlStatement.getDropConstraintDefinitions()).dropIndexDefinitions(sqlStatement.getDropIndexDefinitions())
+
.renameColumnDefinitions(sqlStatement.getRenameColumnDefinitions()).renameIndexDefinitions(sqlStatement.getRenameIndexDefinitions())
+
.replaceColumnDefinitions(sqlStatement.getReplaceColumnDefinitions()).addRollupDefinitions(sqlStatement.getAddRollupDefinitions())
+
.dropRollupDefinitions(sqlStatement.getDropRollupDefinitions()).renameRollupDefinitions(sqlStatement.getRenameRollupDefinitions())
+
.renamePartitionDefinitions(sqlStatement.getRenamePartitionDefinitions()).addPartitionDefinitions(sqlStatement.getAddPartitionDefinitions())
+
.addPartitionsSegments(sqlStatement.getAddPartitionsSegments()).modifyPartitionDefinitions(sqlStatement.getModifyPartitionDefinitions()).build();
SQLStatementCopyUtils.copyAttributes(sqlStatement, result);
return result;
}
diff --git
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/pushdown/type/table/AlterTablePushDownMetaDataRefresherTest.java
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/pushdown/type/table/AlterTablePushDownMetaDataRefresherTest.java
index 01511dc38a6..4e369524dcd 100644
---
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/pushdown/type/table/AlterTablePushDownMetaDataRefresherTest.java
+++
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/pushdown/type/table/AlterTablePushDownMetaDataRefresherTest.java
@@ -77,9 +77,9 @@ class AlterTablePushDownMetaDataRefresherTest {
void assertRefreshRenameTable() throws SQLException {
ShardingSphereRule rule = mock(ShardingSphereRule.class);
when(rule.getAttributes()).thenReturn(new
RuleAttributes(mutableDataNodeRuleAttribute));
- AlterTableStatement sqlStatement = new
AlterTableStatement(databaseType);
- sqlStatement.setTable(new SimpleTableSegment(new TableNameSegment(0,
0, new IdentifierValue("foo_tbl"))));
- sqlStatement.setRenameTable(new SimpleTableSegment(new
TableNameSegment(0, 0, new IdentifierValue("bar_tbl"))));
+ AlterTableStatement sqlStatement =
AlterTableStatement.builder().databaseType(databaseType)
+ .table(new SimpleTableSegment(new TableNameSegment(0, 0, new
IdentifierValue("foo_tbl"))))
+ .renameTable(new SimpleTableSegment(new TableNameSegment(0, 0,
new IdentifierValue("bar_tbl")))).build();
when(TableRefreshUtils.getTableName(sqlStatement.getTable().getTableName().getIdentifier(),
databaseType)).thenReturn("foo_tbl");
when(TableRefreshUtils.isSingleTable(any(), any())).thenReturn(true);
ShardingSphereTable renamedTable = new ShardingSphereTable("bar_tbl",
Collections.emptyList(), Collections.emptyList(), Collections.emptyList());
@@ -104,8 +104,8 @@ class AlterTablePushDownMetaDataRefresherTest {
ShardingSphereRule rule = mock(ShardingSphereRule.class);
ShardingSphereDatabase database = new ShardingSphereDatabase(
"foo_db", databaseType, new
ResourceMetaData(Collections.emptyMap()), new
RuleMetaData(Collections.singleton(rule)), Collections.emptyList());
- AlterTableStatement sqlStatement = new
AlterTableStatement(databaseType);
- sqlStatement.setTable(new SimpleTableSegment(new TableNameSegment(0,
0, new IdentifierValue("foo_tbl"))));
+ AlterTableStatement sqlStatement =
AlterTableStatement.builder().databaseType(databaseType)
+ .table(new SimpleTableSegment(new TableNameSegment(0, 0, new
IdentifierValue("foo_tbl")))).build();
when(TableRefreshUtils.getTableName(sqlStatement.getTable().getTableName().getIdentifier(),
databaseType)).thenReturn("foo_tbl");
when(TableRefreshUtils.isSingleTable("foo_tbl",
database)).thenReturn(false);
ShardingSphereTable table = new ShardingSphereTable("foo_tbl",
Collections.emptyList(), Collections.emptyList(), Collections.emptyList());
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 d98a6f1f00c..dd76f507747 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
@@ -611,22 +611,21 @@ public final class DorisDDLStatementVisitor extends
DorisStatementVisitor implem
@SuppressWarnings("unchecked")
@Override
public ASTNode visitAlterTable(final AlterTableContext ctx) {
- AlterTableStatement result = new
AlterTableStatement(getDatabaseType());
- result.setTable((SimpleTableSegment) visit(ctx.tableName()));
+ AlterTableStatement.AlterTableStatementBuilder result =
AlterTableStatement.builder().databaseType(getDatabaseType()).table((SimpleTableSegment)
visit(ctx.tableName()));
if (null != ctx.standaloneAlterTableAction() && null !=
ctx.standaloneAlterTableAction().standaloneAlterCommands()) {
processStandaloneAlterCommands(result,
ctx.standaloneAlterTableAction().standaloneAlterCommands());
- return result;
+ return result.build();
}
if (null == ctx.alterTableActions() || null ==
ctx.alterTableActions().alterCommandList() || null ==
ctx.alterTableActions().alterCommandList().alterList()) {
- return result;
+ return result.build();
}
for (AlterDefinitionSegment each :
((CollectionValue<AlterDefinitionSegment>)
visit(ctx.alterTableActions().alterCommandList().alterList())).getValue()) {
setAlterDefinition(result, each);
}
- return result;
+ return result.build();
}
- private void processStandaloneAlterCommands(final AlterTableStatement
statement, final StandaloneAlterCommandsContext ctx) {
+ private void processStandaloneAlterCommands(final
AlterTableStatement.AlterTableStatementBuilder statement, final
StandaloneAlterCommandsContext ctx) {
if (null != ctx.alterPartition()) {
AlterDefinitionSegment alterDefinition = (AlterDefinitionSegment)
visit(ctx.alterPartition());
if (null != alterDefinition) {
@@ -635,7 +634,7 @@ public final class DorisDDLStatementVisitor extends
DorisStatementVisitor implem
}
if (null != ctx.SET() && null != ctx.properties()) {
PropertiesSegment properties =
extractPropertiesSegmentFromPropertiesContext(ctx.properties());
- statement.getSetPropertiesDefinitions().add(properties);
+ statement.setPropertiesDefinition(properties);
}
if (null != ctx.ENABLE() && null != ctx.FEATURE() && null !=
ctx.string_()) {
int stopIndex = ctx.string_().getStop().getStopIndex();
@@ -646,23 +645,23 @@ public final class DorisDDLStatementVisitor extends
DorisStatementVisitor implem
if (null != ctx.WITH() && null != ctx.PROPERTIES() && null !=
ctx.properties()) {
enableFeatureSegment.setProperties(extractPropertiesSegmentFromPropertiesContext(ctx.properties()));
}
- statement.getEnableFeatureDefinitions().add(enableFeatureSegment);
+ statement.enableFeatureDefinition(enableFeatureSegment);
}
if (null != ctx.modifyDistributionClause()) {
ModifyDistributionSegment modifyDistributionSegment =
(ModifyDistributionSegment) visit(ctx.modifyDistributionClause());
-
statement.getModifyDistributionDefinitions().add(modifyDistributionSegment);
+ statement.modifyDistributionDefinition(modifyDistributionSegment);
}
if (null != ctx.MODIFY() && null != ctx.COMMENT() && null !=
ctx.string_()) {
ModifyTableCommentSegment modifyTableCommentSegment =
new
ModifyTableCommentSegment(ctx.MODIFY().getSymbol().getStartIndex(),
ctx.string_().getStop().getStopIndex(), ctx.string_().getText());
-
statement.getModifyTableCommentDefinitions().add(modifyTableCommentSegment);
+ statement.modifyTableCommentDefinition(modifyTableCommentSegment);
}
if (null != ctx.ENGINE() && null != ctx.identifier()) {
ModifyEngineSegment modifyEngineSegment = new
ModifyEngineSegment(ctx.ENGINE().getSymbol().getStartIndex(),
ctx.RP_().getSymbol().getStopIndex(), ctx.identifier().getText());
if (null != ctx.properties()) {
modifyEngineSegment.setProperties(extractPropertiesSegmentFromPropertiesContext(ctx.properties()));
}
- statement.getModifyEngineDefinitions().add(modifyEngineSegment);
+ statement.modifyEngineDefinition(modifyEngineSegment);
}
}
@@ -695,49 +694,49 @@ public final class DorisDDLStatementVisitor extends
DorisStatementVisitor implem
return result;
}
- private void setAlterDefinition(final AlterTableStatement
alterTableStatement, final AlterDefinitionSegment alterDefinitionSegment) {
+ private void setAlterDefinition(final
AlterTableStatement.AlterTableStatementBuilder alterTableStatement, final
AlterDefinitionSegment alterDefinitionSegment) {
if (alterDefinitionSegment instanceof AddColumnDefinitionSegment) {
-
alterTableStatement.getAddColumnDefinitions().add((AddColumnDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.addColumnDefinition((AddColumnDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof
ModifyColumnDefinitionSegment) {
-
alterTableStatement.getModifyColumnDefinitions().add((ModifyColumnDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.modifyColumnDefinition((ModifyColumnDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof
ChangeColumnDefinitionSegment) {
-
alterTableStatement.getChangeColumnDefinitions().add((ChangeColumnDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.changeColumnDefinition((ChangeColumnDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof
DropColumnDefinitionSegment) {
-
alterTableStatement.getDropColumnDefinitions().add((DropColumnDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.dropColumnDefinition((DropColumnDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof
AddConstraintDefinitionSegment) {
-
alterTableStatement.getAddConstraintDefinitions().add((AddConstraintDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.addConstraintDefinition((AddConstraintDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof
DropConstraintDefinitionSegment) {
-
alterTableStatement.getDropConstraintDefinitions().add((DropConstraintDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.dropConstraintDefinition((DropConstraintDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof
RenameTableDefinitionSegment) {
- alterTableStatement.setRenameTable(((RenameTableDefinitionSegment)
alterDefinitionSegment).getRenameTable());
+ alterTableStatement.renameTable(((RenameTableDefinitionSegment)
alterDefinitionSegment).getRenameTable());
} else if (alterDefinitionSegment instanceof
ReplaceTableDefinitionSegment) {
-
alterTableStatement.setReplaceTable((ReplaceTableDefinitionSegment)
alterDefinitionSegment);
+ alterTableStatement.replaceTable((ReplaceTableDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof
ConvertTableDefinitionSegment) {
-
alterTableStatement.setConvertTableDefinition((ConvertTableDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.convertTableDefinition((ConvertTableDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof
DropIndexDefinitionSegment) {
-
alterTableStatement.getDropIndexDefinitions().add((DropIndexDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.dropIndexDefinition((DropIndexDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof
RenameIndexDefinitionSegment) {
-
alterTableStatement.getRenameIndexDefinitions().add((RenameIndexDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.renameIndexDefinition((RenameIndexDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof RenameColumnSegment) {
-
alterTableStatement.getRenameColumnDefinitions().add((RenameColumnSegment)
alterDefinitionSegment);
+ alterTableStatement.renameColumnDefinition((RenameColumnSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof
AddRollupDefinitionSegment) {
-
alterTableStatement.getAddRollupDefinitions().add((AddRollupDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.addRollupDefinition((AddRollupDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof
DropRollupDefinitionSegment) {
-
alterTableStatement.getDropRollupDefinitions().add((DropRollupDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.dropRollupDefinition((DropRollupDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof
RenameRollupDefinitionSegment) {
-
alterTableStatement.getRenameRollupDefinitions().add((RenameRollupDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.renameRollupDefinition((RenameRollupDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof
RenamePartitionDefinitionSegment) {
-
alterTableStatement.getRenamePartitionDefinitions().add((RenamePartitionDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.renamePartitionDefinition((RenamePartitionDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof
AddPartitionDefinitionSegment) {
-
alterTableStatement.getAddPartitionDefinitions().add((AddPartitionDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.addPartitionDefinition((AddPartitionDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof AddPartitionsSegment) {
-
alterTableStatement.getAddPartitionsSegments().add((AddPartitionsSegment)
alterDefinitionSegment);
+ alterTableStatement.addPartitionsSegment((AddPartitionsSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof
ModifyPartitionDefinitionSegment) {
-
alterTableStatement.getModifyPartitionDefinitions().add((ModifyPartitionDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.modifyPartitionDefinition((ModifyPartitionDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof AlgorithmTypeSegment) {
- alterTableStatement.setAlgorithmSegment((AlgorithmTypeSegment)
alterDefinitionSegment);
+ alterTableStatement.algorithmSegment((AlgorithmTypeSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof LockTableSegment) {
- alterTableStatement.setLockTableSegment((LockTableSegment)
alterDefinitionSegment);
+ alterTableStatement.lockTableSegment((LockTableSegment)
alterDefinitionSegment);
}
}
diff --git
a/parser/sql/engine/dialect/firebird/src/main/java/org/apache/shardingsphere/sql/parser/engine/firebird/visitor/statement/type/FirebirdDDLStatementVisitor.java
b/parser/sql/engine/dialect/firebird/src/main/java/org/apache/shardingsphere/sql/parser/engine/firebird/visitor/statement/type/FirebirdDDLStatementVisitor.java
index 255a7dc4adc..f371d979a2b 100644
---
a/parser/sql/engine/dialect/firebird/src/main/java/org/apache/shardingsphere/sql/parser/engine/firebird/visitor/statement/type/FirebirdDDLStatementVisitor.java
+++
b/parser/sql/engine/dialect/firebird/src/main/java/org/apache/shardingsphere/sql/parser/engine/firebird/visitor/statement/type/FirebirdDDLStatementVisitor.java
@@ -185,24 +185,23 @@ public final class FirebirdDDLStatementVisitor extends
FirebirdStatementVisitor
@SuppressWarnings("unchecked")
@Override
public ASTNode visitAlterTable(final AlterTableContext ctx) {
- AlterTableStatement result = new
AlterTableStatement(getDatabaseType());
- result.setTable((SimpleTableSegment) visit(ctx.tableName()));
+ AlterTableStatement.AlterTableStatementBuilder result =
AlterTableStatement.builder().databaseType(getDatabaseType()).table((SimpleTableSegment)
visit(ctx.tableName()));
if (null != ctx.alterDefinitionClause()) {
for (AlterDefinitionSegment each :
((CollectionValue<AlterDefinitionSegment>)
visit(ctx.alterDefinitionClause())).getValue()) {
if (each instanceof AddColumnDefinitionSegment) {
-
result.getAddColumnDefinitions().add((AddColumnDefinitionSegment) each);
+ result.addColumnDefinition((AddColumnDefinitionSegment)
each);
} else if (each instanceof ModifyColumnDefinitionSegment) {
-
result.getModifyColumnDefinitions().add((ModifyColumnDefinitionSegment) each);
+
result.modifyColumnDefinition((ModifyColumnDefinitionSegment) each);
} else if (each instanceof DropColumnDefinitionSegment) {
-
result.getDropColumnDefinitions().add((DropColumnDefinitionSegment) each);
+ result.dropColumnDefinition((DropColumnDefinitionSegment)
each);
} else if (each instanceof AddConstraintDefinitionSegment) {
-
result.getAddConstraintDefinitions().add((AddConstraintDefinitionSegment) each);
+
result.addConstraintDefinition((AddConstraintDefinitionSegment) each);
} else if (each instanceof DropConstraintDefinitionSegment) {
-
result.getDropConstraintDefinitions().add((DropConstraintDefinitionSegment)
each);
+
result.dropConstraintDefinition((DropConstraintDefinitionSegment) each);
}
}
}
- return result;
+ return result.build();
}
@Override
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 7c1e8f98fbc..8c74bb97586 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
@@ -122,19 +122,19 @@ public final class HiveDDLStatementVisitor extends
HiveStatementVisitor implemen
@Override
public ASTNode visitAlterTable(final AlterTableContext ctx) {
- AlterTableStatement result = new
AlterTableStatement(getDatabaseType());
- result.setTable((SimpleTableSegment)
visit(ctx.alterTableCommonClause().tableName()));
+ AlterTableStatement.AlterTableStatementBuilder result =
AlterTableStatement.builder().databaseType(getDatabaseType())
+ .table((SimpleTableSegment)
visit(ctx.alterTableCommonClause().tableName()));
if (null != ctx.changeColumn()) {
ChangeColumnDefinitionSegment changeColumnSegment =
(ChangeColumnDefinitionSegment) visit(ctx.changeColumn());
- result.getChangeColumnDefinitions().add(changeColumnSegment);
+ result.changeColumnDefinition(changeColumnSegment);
}
if (null != ctx.addColumns()) {
AddColumnDefinitionSegment addSeg = (AddColumnDefinitionSegment)
visit(ctx.addColumns());
- result.getAddColumnDefinitions().add(addSeg);
+ result.addColumnDefinition(addSeg);
}
if (null != ctx.replaceColumns()) {
ReplaceColumnDefinitionSegment repSeg =
(ReplaceColumnDefinitionSegment) visit(ctx.replaceColumns());
- result.getReplaceColumnDefinitions().add(repSeg);
+ result.replaceColumnDefinition(repSeg);
}
if (null != ctx.COMPACT()) {
String compactionType = ctx.string_().getText().replace("'", "");
@@ -146,7 +146,7 @@ public final class HiveDDLStatementVisitor extends
HiveStatementVisitor implemen
throw new IllegalArgumentException("[CLUSTERED INTO n BUCKETS]
and [ORDER BY col_list] clauses can only be used with REBALANCE compaction");
}
}
- return result;
+ return result.build();
}
private boolean isValidCompactionType(final String compactionType) {
@@ -157,9 +157,7 @@ public final class HiveDDLStatementVisitor extends
HiveStatementVisitor implemen
@Override
public ASTNode visitMsckStatement(final MsckStatementContext ctx) {
- AlterTableStatement result = new
AlterTableStatement(getDatabaseType());
- result.setTable((SimpleTableSegment) visit(ctx.tableName()));
- return result;
+ return
AlterTableStatement.builder().databaseType(getDatabaseType()).table((SimpleTableSegment)
visit(ctx.tableName())).build();
}
@Override
diff --git
a/parser/sql/engine/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/engine/mysql/visitor/statement/type/MySQLDDLStatementVisitor.java
b/parser/sql/engine/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/engine/mysql/visitor/statement/type/MySQLDDLStatementVisitor.java
index 27454412f46..9ac4f189b28 100644
---
a/parser/sql/engine/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/engine/mysql/visitor/statement/type/MySQLDDLStatementVisitor.java
+++
b/parser/sql/engine/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/engine/mysql/visitor/statement/type/MySQLDDLStatementVisitor.java
@@ -334,46 +334,45 @@ public final class MySQLDDLStatementVisitor extends
MySQLStatementVisitor implem
@SuppressWarnings("unchecked")
@Override
public ASTNode visitAlterTable(final AlterTableContext ctx) {
- AlterTableStatement result = new
AlterTableStatement(getDatabaseType());
- result.setTable((SimpleTableSegment) visit(ctx.tableName()));
+ AlterTableStatement.AlterTableStatementBuilder result =
AlterTableStatement.builder().databaseType(getDatabaseType()).table((SimpleTableSegment)
visit(ctx.tableName()));
if (null == ctx.alterTableActions() || null ==
ctx.alterTableActions().alterCommandList() || null ==
ctx.alterTableActions().alterCommandList().alterList()) {
- return result;
+ return result.build();
}
for (AlterDefinitionSegment each :
((CollectionValue<AlterDefinitionSegment>)
visit(ctx.alterTableActions().alterCommandList().alterList())).getValue()) {
setAlterDefinition(result, each);
}
- return result;
+ return result.build();
}
- private void setAlterDefinition(final AlterTableStatement
alterTableStatement, final AlterDefinitionSegment alterDefinitionSegment) {
+ private void setAlterDefinition(final
AlterTableStatement.AlterTableStatementBuilder alterTableStatement, final
AlterDefinitionSegment alterDefinitionSegment) {
if (alterDefinitionSegment instanceof AddColumnDefinitionSegment) {
-
alterTableStatement.getAddColumnDefinitions().add((AddColumnDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.addColumnDefinition((AddColumnDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof
ModifyColumnDefinitionSegment) {
-
alterTableStatement.getModifyColumnDefinitions().add((ModifyColumnDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.modifyColumnDefinition((ModifyColumnDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof
ChangeColumnDefinitionSegment) {
-
alterTableStatement.getChangeColumnDefinitions().add((ChangeColumnDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.changeColumnDefinition((ChangeColumnDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof
DropColumnDefinitionSegment) {
-
alterTableStatement.getDropColumnDefinitions().add((DropColumnDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.dropColumnDefinition((DropColumnDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof
AddConstraintDefinitionSegment) {
-
alterTableStatement.getAddConstraintDefinitions().add((AddConstraintDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.addConstraintDefinition((AddConstraintDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof
DropConstraintDefinitionSegment) {
-
alterTableStatement.getDropConstraintDefinitions().add((DropConstraintDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.dropConstraintDefinition((DropConstraintDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof
RenameTableDefinitionSegment) {
- alterTableStatement.setRenameTable(((RenameTableDefinitionSegment)
alterDefinitionSegment).getRenameTable());
+ alterTableStatement.renameTable(((RenameTableDefinitionSegment)
alterDefinitionSegment).getRenameTable());
} else if (alterDefinitionSegment instanceof
ConvertTableDefinitionSegment) {
-
alterTableStatement.setConvertTableDefinition((ConvertTableDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.convertTableDefinition((ConvertTableDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof
DropIndexDefinitionSegment) {
-
alterTableStatement.getDropIndexDefinitions().add((DropIndexDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.dropIndexDefinition((DropIndexDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof
RenameIndexDefinitionSegment) {
-
alterTableStatement.getRenameIndexDefinitions().add((RenameIndexDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.renameIndexDefinition((RenameIndexDefinitionSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof RenameColumnSegment) {
-
alterTableStatement.getRenameColumnDefinitions().add((RenameColumnSegment)
alterDefinitionSegment);
+ alterTableStatement.renameColumnDefinition((RenameColumnSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof AlgorithmTypeSegment) {
- alterTableStatement.setAlgorithmSegment((AlgorithmTypeSegment)
alterDefinitionSegment);
+ alterTableStatement.algorithmSegment((AlgorithmTypeSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof LockTableSegment) {
- alterTableStatement.setLockTableSegment((LockTableSegment)
alterDefinitionSegment);
+ alterTableStatement.lockTableSegment((LockTableSegment)
alterDefinitionSegment);
} else if (alterDefinitionSegment instanceof
DropPrimaryKeyDefinitionSegment) {
-
alterTableStatement.setDropPrimaryKeyDefinition((DropPrimaryKeyDefinitionSegment)
alterDefinitionSegment);
+
alterTableStatement.dropPrimaryKeyDefinition((DropPrimaryKeyDefinitionSegment)
alterDefinitionSegment);
}
}
diff --git
a/parser/sql/engine/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/engine/opengauss/visitor/statement/type/OpenGaussDDLStatementVisitor.java
b/parser/sql/engine/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/engine/opengauss/visitor/statement/type/OpenGaussDDLStatementVisitor.java
index b66fbc6bed0..61859676c53 100644
---
a/parser/sql/engine/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/engine/opengauss/visitor/statement/type/OpenGaussDDLStatementVisitor.java
+++
b/parser/sql/engine/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/engine/opengauss/visitor/statement/type/OpenGaussDDLStatementVisitor.java
@@ -302,32 +302,31 @@ public final class OpenGaussDDLStatementVisitor extends
OpenGaussStatementVisito
@SuppressWarnings("unchecked")
@Override
public ASTNode visitAlterTable(final AlterTableContext ctx) {
- AlterTableStatement result = new
AlterTableStatement(getDatabaseType());
- result.setTable((SimpleTableSegment)
visit(ctx.tableNameClause().tableName()));
+ AlterTableStatement.AlterTableStatementBuilder result =
AlterTableStatement.builder().databaseType(getDatabaseType()).table((SimpleTableSegment)
visit(ctx.tableNameClause().tableName()));
if (null != ctx.alterDefinitionClause()) {
for (AlterDefinitionSegment each :
((CollectionValue<AlterDefinitionSegment>)
visit(ctx.alterDefinitionClause())).getValue()) {
if (each instanceof AddColumnDefinitionSegment) {
-
result.getAddColumnDefinitions().add((AddColumnDefinitionSegment) each);
+ result.addColumnDefinition((AddColumnDefinitionSegment)
each);
} else if (each instanceof ModifyColumnDefinitionSegment) {
-
result.getModifyColumnDefinitions().add((ModifyColumnDefinitionSegment) each);
+
result.modifyColumnDefinition((ModifyColumnDefinitionSegment) each);
} else if (each instanceof DropColumnDefinitionSegment) {
-
result.getDropColumnDefinitions().add((DropColumnDefinitionSegment) each);
+ result.dropColumnDefinition((DropColumnDefinitionSegment)
each);
} else if (each instanceof AddConstraintDefinitionSegment) {
-
result.getAddConstraintDefinitions().add((AddConstraintDefinitionSegment) each);
+
result.addConstraintDefinition((AddConstraintDefinitionSegment) each);
} else if (each instanceof
ValidateConstraintDefinitionSegment) {
-
result.getValidateConstraintDefinitions().add((ValidateConstraintDefinitionSegment)
each);
+
result.validateConstraintDefinition((ValidateConstraintDefinitionSegment) each);
} else if (each instanceof ModifyConstraintDefinitionSegment) {
-
result.getModifyConstraintDefinitions().add((ModifyConstraintDefinitionSegment)
each);
+
result.modifyConstraintDefinition((ModifyConstraintDefinitionSegment) each);
} else if (each instanceof DropConstraintDefinitionSegment) {
-
result.getDropConstraintDefinitions().add((DropConstraintDefinitionSegment)
each);
+
result.dropConstraintDefinition((DropConstraintDefinitionSegment) each);
} else if (each instanceof RenameTableDefinitionSegment) {
- result.setRenameTable(((RenameTableDefinitionSegment)
each).getRenameTable());
+ result.renameTable(((RenameTableDefinitionSegment)
each).getRenameTable());
} else if (each instanceof RenameColumnSegment) {
-
result.getRenameColumnDefinitions().add((RenameColumnSegment) each);
+ result.renameColumnDefinition((RenameColumnSegment) each);
}
}
}
- return result;
+ return result.build();
}
@Override
diff --git
a/parser/sql/engine/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/engine/oracle/visitor/statement/type/OracleDDLStatementVisitor.java
b/parser/sql/engine/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/engine/oracle/visitor/statement/type/OracleDDLStatementVisitor.java
index 1cf170f1d92..8a1f27de672 100644
---
a/parser/sql/engine/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/engine/oracle/visitor/statement/type/OracleDDLStatementVisitor.java
+++
b/parser/sql/engine/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/engine/oracle/visitor/statement/type/OracleDDLStatementVisitor.java
@@ -541,28 +541,27 @@ public final class OracleDDLStatementVisitor extends
OracleStatementVisitor impl
@SuppressWarnings("unchecked")
@Override
public ASTNode visitAlterTable(final AlterTableContext ctx) {
- AlterTableStatement result = new
AlterTableStatement(getDatabaseType());
- result.setTable((SimpleTableSegment) visit(ctx.tableName()));
+ AlterTableStatement.AlterTableStatementBuilder result =
AlterTableStatement.builder().databaseType(getDatabaseType()).table((SimpleTableSegment)
visit(ctx.tableName()));
if (null != ctx.alterDefinitionClause()) {
for (AlterDefinitionSegment each :
((CollectionValue<AlterDefinitionSegment>)
visit(ctx.alterDefinitionClause())).getValue()) {
if (each instanceof AddColumnDefinitionSegment) {
-
result.getAddColumnDefinitions().add((AddColumnDefinitionSegment) each);
+ result.addColumnDefinition((AddColumnDefinitionSegment)
each);
} else if (each instanceof ModifyColumnDefinitionSegment) {
-
result.getModifyColumnDefinitions().add((ModifyColumnDefinitionSegment) each);
+
result.modifyColumnDefinition((ModifyColumnDefinitionSegment) each);
} else if (each instanceof DropColumnDefinitionSegment) {
-
result.getDropColumnDefinitions().add((DropColumnDefinitionSegment) each);
+ result.dropColumnDefinition((DropColumnDefinitionSegment)
each);
} else if (each instanceof AddConstraintDefinitionSegment) {
-
result.getAddConstraintDefinitions().add((AddConstraintDefinitionSegment) each);
+
result.addConstraintDefinition((AddConstraintDefinitionSegment) each);
} else if (each instanceof ModifyConstraintDefinitionSegment) {
-
result.getModifyConstraintDefinitions().add((ModifyConstraintDefinitionSegment)
each);
+
result.modifyConstraintDefinition((ModifyConstraintDefinitionSegment) each);
} else if (each instanceof DropConstraintDefinitionSegment) {
-
result.getDropConstraintDefinitions().add((DropConstraintDefinitionSegment)
each);
+
result.dropConstraintDefinition((DropConstraintDefinitionSegment) each);
} else if (each instanceof ModifyCollectionRetrievalSegment) {
-
result.setModifyCollectionRetrieval((ModifyCollectionRetrievalSegment) each);
+
result.modifyCollectionRetrieval((ModifyCollectionRetrievalSegment) each);
}
}
}
- return result;
+ return result.build();
}
@Override
diff --git
a/parser/sql/engine/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/engine/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java
b/parser/sql/engine/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/engine/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java
index dd2532ca2fa..59e9207835a 100644
---
a/parser/sql/engine/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/engine/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java
+++
b/parser/sql/engine/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/engine/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java
@@ -379,32 +379,31 @@ public final class PostgreSQLDDLStatementVisitor extends
PostgreSQLStatementVisi
@SuppressWarnings("unchecked")
@Override
public ASTNode visitAlterTable(final AlterTableContext ctx) {
- AlterTableStatement result = new
AlterTableStatement(getDatabaseType());
- result.setTable((SimpleTableSegment)
visit(ctx.tableNameClause().tableName()));
+ AlterTableStatement.AlterTableStatementBuilder result =
AlterTableStatement.builder().databaseType(getDatabaseType()).table((SimpleTableSegment)
visit(ctx.tableNameClause().tableName()));
if (null != ctx.alterDefinitionClause()) {
for (AlterDefinitionSegment each :
((CollectionValue<AlterDefinitionSegment>)
visit(ctx.alterDefinitionClause())).getValue()) {
if (each instanceof AddColumnDefinitionSegment) {
-
result.getAddColumnDefinitions().add((AddColumnDefinitionSegment) each);
+ result.addColumnDefinition((AddColumnDefinitionSegment)
each);
} else if (each instanceof ModifyColumnDefinitionSegment) {
-
result.getModifyColumnDefinitions().add((ModifyColumnDefinitionSegment) each);
+
result.modifyColumnDefinition((ModifyColumnDefinitionSegment) each);
} else if (each instanceof DropColumnDefinitionSegment) {
-
result.getDropColumnDefinitions().add((DropColumnDefinitionSegment) each);
+ result.dropColumnDefinition((DropColumnDefinitionSegment)
each);
} else if (each instanceof AddConstraintDefinitionSegment) {
-
result.getAddConstraintDefinitions().add((AddConstraintDefinitionSegment) each);
+
result.addConstraintDefinition((AddConstraintDefinitionSegment) each);
} else if (each instanceof
ValidateConstraintDefinitionSegment) {
-
result.getValidateConstraintDefinitions().add((ValidateConstraintDefinitionSegment)
each);
+
result.validateConstraintDefinition((ValidateConstraintDefinitionSegment) each);
} else if (each instanceof ModifyConstraintDefinitionSegment) {
-
result.getModifyConstraintDefinitions().add((ModifyConstraintDefinitionSegment)
each);
+
result.modifyConstraintDefinition((ModifyConstraintDefinitionSegment) each);
} else if (each instanceof DropConstraintDefinitionSegment) {
-
result.getDropConstraintDefinitions().add((DropConstraintDefinitionSegment)
each);
+
result.dropConstraintDefinition((DropConstraintDefinitionSegment) each);
} else if (each instanceof RenameTableDefinitionSegment) {
- result.setRenameTable(((RenameTableDefinitionSegment)
each).getRenameTable());
+ result.renameTable(((RenameTableDefinitionSegment)
each).getRenameTable());
} else if (each instanceof RenameColumnSegment) {
-
result.getRenameColumnDefinitions().add((RenameColumnSegment) each);
+ result.renameColumnDefinition((RenameColumnSegment) each);
}
}
}
- return result;
+ return result.build();
}
@Override
diff --git
a/parser/sql/engine/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/engine/sql92/visitor/statement/type/SQL92DDLStatementVisitor.java
b/parser/sql/engine/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/engine/sql92/visitor/statement/type/SQL92DDLStatementVisitor.java
index aab4cc947c5..01bf4eff3d7 100644
---
a/parser/sql/engine/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/engine/sql92/visitor/statement/type/SQL92DDLStatementVisitor.java
+++
b/parser/sql/engine/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/engine/sql92/visitor/statement/type/SQL92DDLStatementVisitor.java
@@ -162,24 +162,23 @@ public final class SQL92DDLStatementVisitor extends
SQL92StatementVisitor implem
@SuppressWarnings("unchecked")
@Override
public ASTNode visitAlterTable(final AlterTableContext ctx) {
- AlterTableStatement result = new
AlterTableStatement(getDatabaseType());
- result.setTable((SimpleTableSegment) visit(ctx.tableName()));
+ AlterTableStatement.AlterTableStatementBuilder result =
AlterTableStatement.builder().databaseType(getDatabaseType()).table((SimpleTableSegment)
visit(ctx.tableName()));
if (null != ctx.alterDefinitionClause()) {
for (AlterDefinitionSegment each :
((CollectionValue<AlterDefinitionSegment>)
visit(ctx.alterDefinitionClause())).getValue()) {
if (each instanceof AddColumnDefinitionSegment) {
-
result.getAddColumnDefinitions().add((AddColumnDefinitionSegment) each);
+ result.addColumnDefinition((AddColumnDefinitionSegment)
each);
} else if (each instanceof ModifyColumnDefinitionSegment) {
-
result.getModifyColumnDefinitions().add((ModifyColumnDefinitionSegment) each);
+
result.modifyColumnDefinition((ModifyColumnDefinitionSegment) each);
} else if (each instanceof DropColumnDefinitionSegment) {
-
result.getDropColumnDefinitions().add((DropColumnDefinitionSegment) each);
+ result.dropColumnDefinition((DropColumnDefinitionSegment)
each);
} else if (each instanceof AddConstraintDefinitionSegment) {
-
result.getAddConstraintDefinitions().add((AddConstraintDefinitionSegment) each);
+
result.addConstraintDefinition((AddConstraintDefinitionSegment) each);
} else if (each instanceof DropConstraintDefinitionSegment) {
-
result.getDropConstraintDefinitions().add((DropConstraintDefinitionSegment)
each);
+
result.dropConstraintDefinition((DropConstraintDefinitionSegment) each);
}
}
}
- return result;
+ return result.build();
}
@SuppressWarnings("unchecked")
diff --git
a/parser/sql/engine/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/engine/sqlserver/visitor/statement/type/SQLServerDDLStatementVisitor.java
b/parser/sql/engine/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/engine/sqlserver/visitor/statement/type/SQLServerDDLStatementVisitor.java
index aae1fa5732d..5c92133b987 100644
---
a/parser/sql/engine/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/engine/sqlserver/visitor/statement/type/SQLServerDDLStatementVisitor.java
+++
b/parser/sql/engine/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/engine/sqlserver/visitor/statement/type/SQLServerDDLStatementVisitor.java
@@ -234,26 +234,25 @@ public final class SQLServerDDLStatementVisitor extends
SQLServerStatementVisito
@SuppressWarnings("unchecked")
@Override
public ASTNode visitAlterTable(final AlterTableContext ctx) {
- AlterTableStatement result = new
AlterTableStatement(getDatabaseType());
- result.setTable((SimpleTableSegment) visit(ctx.tableName()));
+ AlterTableStatement.AlterTableStatementBuilder result =
AlterTableStatement.builder().databaseType(getDatabaseType()).table((SimpleTableSegment)
visit(ctx.tableName()));
for (AlterDefinitionClauseContext alterDefinitionClauseContext :
ctx.alterDefinitionClause()) {
for (AlterDefinitionSegment each :
((CollectionValue<AlterDefinitionSegment>)
visit(alterDefinitionClauseContext)).getValue()) {
if (each instanceof AddColumnDefinitionSegment) {
-
result.getAddColumnDefinitions().add((AddColumnDefinitionSegment) each);
+ result.addColumnDefinition((AddColumnDefinitionSegment)
each);
} else if (each instanceof ModifyColumnDefinitionSegment) {
-
result.getModifyColumnDefinitions().add((ModifyColumnDefinitionSegment) each);
+
result.modifyColumnDefinition((ModifyColumnDefinitionSegment) each);
} else if (each instanceof DropColumnDefinitionSegment) {
-
result.getDropColumnDefinitions().add((DropColumnDefinitionSegment) each);
+ result.dropColumnDefinition((DropColumnDefinitionSegment)
each);
} else if (each instanceof AddConstraintDefinitionSegment) {
-
result.getAddConstraintDefinitions().add((AddConstraintDefinitionSegment) each);
+
result.addConstraintDefinition((AddConstraintDefinitionSegment) each);
} else if (each instanceof ModifyConstraintDefinitionSegment) {
-
result.getModifyConstraintDefinitions().add((ModifyConstraintDefinitionSegment)
each);
+
result.modifyConstraintDefinition((ModifyConstraintDefinitionSegment) each);
} else if (each instanceof DropConstraintDefinitionSegment) {
-
result.getDropConstraintDefinitions().add((DropConstraintDefinitionSegment)
each);
+
result.dropConstraintDefinition((DropConstraintDefinitionSegment) each);
}
}
}
- return result;
+ return result.build();
}
@SuppressWarnings("unchecked")
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 99f2353b8e1..34944290d1b 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
@@ -17,8 +17,9 @@
package
org.apache.shardingsphere.sql.parser.statement.core.statement.type.ddl.table;
+import lombok.Builder;
import lombok.Getter;
-import lombok.Setter;
+import lombok.Singular;
import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.column.ColumnDefinitionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.column.alter.AddColumnDefinitionSegment;
@@ -33,6 +34,9 @@ import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.constrain
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.constraint.alter.DropConstraintDefinitionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.constraint.alter.ModifyConstraintDefinitionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.constraint.alter.ValidateConstraintDefinitionSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.distribution.ModifyDistributionSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.engine.ModifyEngineSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.feature.EnableFeatureSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.index.DropIndexDefinitionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.index.IndexSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.index.RenameIndexDefinitionSegment;
@@ -41,13 +45,10 @@ import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.partition
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.partition.ModifyPartitionDefinitionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.partition.RenamePartitionDefinitionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.primary.DropPrimaryKeyDefinitionSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.property.PropertiesSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.rollup.AddRollupDefinitionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.rollup.DropRollupDefinitionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.rollup.RenameRollupDefinitionSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.distribution.ModifyDistributionSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.engine.ModifyEngineSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.feature.EnableFeatureSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.property.PropertiesSegment;
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.LockTableSegment;
@@ -70,77 +71,164 @@ import java.util.stream.Collectors;
* Alter table statement.
*/
@Getter
-@Setter
public final class AlterTableStatement extends DDLStatement {
- private SimpleTableSegment table;
+ private final SimpleTableSegment table;
- private SimpleTableSegment renameTable;
+ private final SimpleTableSegment renameTable;
- private ReplaceTableDefinitionSegment replaceTable;
+ private final ReplaceTableDefinitionSegment replaceTable;
- private ConvertTableDefinitionSegment convertTableDefinition;
+ private final ConvertTableDefinitionSegment convertTableDefinition;
- private ModifyCollectionRetrievalSegment modifyCollectionRetrieval;
+ private final ModifyCollectionRetrievalSegment modifyCollectionRetrieval;
- private AlgorithmTypeSegment algorithmSegment;
+ private final AlgorithmTypeSegment algorithmSegment;
- private LockTableSegment lockTableSegment;
+ private final LockTableSegment lockTableSegment;
- private DropPrimaryKeyDefinitionSegment dropPrimaryKeyDefinition;
+ private final DropPrimaryKeyDefinitionSegment dropPrimaryKeyDefinition;
- private final Collection<PropertiesSegment> setPropertiesDefinitions = new
LinkedList<>();
+ private final Collection<PropertiesSegment> setPropertiesDefinitions;
- private final Collection<EnableFeatureSegment> enableFeatureDefinitions =
new LinkedList<>();
+ private final Collection<EnableFeatureSegment> enableFeatureDefinitions;
- private final Collection<ModifyTableCommentSegment>
modifyTableCommentDefinitions = new LinkedList<>();
+ private final Collection<ModifyTableCommentSegment>
modifyTableCommentDefinitions;
- private final Collection<ModifyEngineSegment> modifyEngineDefinitions =
new LinkedList<>();
+ private final Collection<ModifyEngineSegment> modifyEngineDefinitions;
- private final Collection<ModifyDistributionSegment>
modifyDistributionDefinitions = new LinkedList<>();
+ private final Collection<ModifyDistributionSegment>
modifyDistributionDefinitions;
- private final Collection<AddColumnDefinitionSegment> addColumnDefinitions
= new LinkedList<>();
+ private final Collection<AddColumnDefinitionSegment> addColumnDefinitions;
- private final Collection<ModifyColumnDefinitionSegment>
modifyColumnDefinitions = new LinkedList<>();
+ private final Collection<ModifyColumnDefinitionSegment>
modifyColumnDefinitions;
- private final Collection<ChangeColumnDefinitionSegment>
changeColumnDefinitions = new LinkedList<>();
+ private final Collection<ChangeColumnDefinitionSegment>
changeColumnDefinitions;
- private final Collection<DropColumnDefinitionSegment>
dropColumnDefinitions = new LinkedList<>();
+ private final Collection<DropColumnDefinitionSegment>
dropColumnDefinitions;
- private final Collection<AddConstraintDefinitionSegment>
addConstraintDefinitions = new LinkedList<>();
+ private final Collection<AddConstraintDefinitionSegment>
addConstraintDefinitions;
- private final Collection<ValidateConstraintDefinitionSegment>
validateConstraintDefinitions = new LinkedList<>();
+ private final Collection<ValidateConstraintDefinitionSegment>
validateConstraintDefinitions;
- private final Collection<ModifyConstraintDefinitionSegment>
modifyConstraintDefinitions = new LinkedList<>();
+ private final Collection<ModifyConstraintDefinitionSegment>
modifyConstraintDefinitions;
- private final Collection<DropConstraintDefinitionSegment>
dropConstraintDefinitions = new LinkedList<>();
+ private final Collection<DropConstraintDefinitionSegment>
dropConstraintDefinitions;
- private final Collection<DropIndexDefinitionSegment> dropIndexDefinitions
= new LinkedList<>();
+ private final Collection<DropIndexDefinitionSegment> dropIndexDefinitions;
- private final Collection<RenameColumnSegment> renameColumnDefinitions =
new LinkedList<>();
+ private final Collection<RenameColumnSegment> renameColumnDefinitions;
- private final Collection<RenameIndexDefinitionSegment>
renameIndexDefinitions = new LinkedList<>();
+ private final Collection<RenameIndexDefinitionSegment>
renameIndexDefinitions;
- private final Collection<ReplaceColumnDefinitionSegment>
replaceColumnDefinitions = new LinkedList<>();
+ private final Collection<ReplaceColumnDefinitionSegment>
replaceColumnDefinitions;
- private final Collection<AddRollupDefinitionSegment> addRollupDefinitions
= new LinkedList<>();
+ private final Collection<AddRollupDefinitionSegment> addRollupDefinitions;
- private final Collection<DropRollupDefinitionSegment>
dropRollupDefinitions = new LinkedList<>();
+ private final Collection<DropRollupDefinitionSegment>
dropRollupDefinitions;
- private final Collection<RenameRollupDefinitionSegment>
renameRollupDefinitions = new LinkedList<>();
+ private final Collection<RenameRollupDefinitionSegment>
renameRollupDefinitions;
- private final Collection<RenamePartitionDefinitionSegment>
renamePartitionDefinitions = new LinkedList<>();
+ private final Collection<RenamePartitionDefinitionSegment>
renamePartitionDefinitions;
- private final Collection<AddPartitionDefinitionSegment>
addPartitionDefinitions = new LinkedList<>();
+ private final Collection<AddPartitionDefinitionSegment>
addPartitionDefinitions;
- private final Collection<AddPartitionsSegment> addPartitionsSegments = new
LinkedList<>();
+ private final Collection<AddPartitionsSegment> addPartitionsSegments;
- private final Collection<ModifyPartitionDefinitionSegment>
modifyPartitionDefinitions = new LinkedList<>();
+ private final Collection<ModifyPartitionDefinitionSegment>
modifyPartitionDefinitions;
- private SQLStatementAttributes attributes;
+ private final SQLStatementAttributes attributes;
- public AlterTableStatement(final DatabaseType databaseType) {
+ @Builder
+ private AlterTableStatement(final DatabaseType databaseType, final
SimpleTableSegment table, final SimpleTableSegment renameTable, final
ReplaceTableDefinitionSegment replaceTable,
+ final ConvertTableDefinitionSegment
convertTableDefinition, final ModifyCollectionRetrievalSegment
modifyCollectionRetrieval,
+ final AlgorithmTypeSegment algorithmSegment,
final LockTableSegment lockTableSegment, final DropPrimaryKeyDefinitionSegment
dropPrimaryKeyDefinition,
+ @Singular("setPropertiesDefinition") final
Collection<PropertiesSegment> setPropertiesDefinitions,
+ @Singular("enableFeatureDefinition") final
Collection<EnableFeatureSegment> enableFeatureDefinitions,
+ @Singular("modifyTableCommentDefinition")
final Collection<ModifyTableCommentSegment> modifyTableCommentDefinitions,
+ @Singular("modifyEngineDefinition") final
Collection<ModifyEngineSegment> modifyEngineDefinitions,
+ @Singular("modifyDistributionDefinition")
final Collection<ModifyDistributionSegment> modifyDistributionDefinitions,
+ @Singular("addColumnDefinition") final
Collection<AddColumnDefinitionSegment> addColumnDefinitions,
+ @Singular("modifyColumnDefinition") final
Collection<ModifyColumnDefinitionSegment> modifyColumnDefinitions,
+ @Singular("changeColumnDefinition") final
Collection<ChangeColumnDefinitionSegment> changeColumnDefinitions,
+ @Singular("dropColumnDefinition") final
Collection<DropColumnDefinitionSegment> dropColumnDefinitions,
+ @Singular("addConstraintDefinition") final
Collection<AddConstraintDefinitionSegment> addConstraintDefinitions,
+ @Singular("validateConstraintDefinition")
final Collection<ValidateConstraintDefinitionSegment>
validateConstraintDefinitions,
+ @Singular("modifyConstraintDefinition") final
Collection<ModifyConstraintDefinitionSegment> modifyConstraintDefinitions,
+ @Singular("dropConstraintDefinition") final
Collection<DropConstraintDefinitionSegment> dropConstraintDefinitions,
+ @Singular("dropIndexDefinition") final
Collection<DropIndexDefinitionSegment> dropIndexDefinitions,
+ @Singular("renameColumnDefinition") final
Collection<RenameColumnSegment> renameColumnDefinitions,
+ @Singular("renameIndexDefinition") final
Collection<RenameIndexDefinitionSegment> renameIndexDefinitions,
+ @Singular("replaceColumnDefinition") final
Collection<ReplaceColumnDefinitionSegment> replaceColumnDefinitions,
+ @Singular("addRollupDefinition") final
Collection<AddRollupDefinitionSegment> addRollupDefinitions,
+ @Singular("dropRollupDefinition") final
Collection<DropRollupDefinitionSegment> dropRollupDefinitions,
+ @Singular("renameRollupDefinition") final
Collection<RenameRollupDefinitionSegment> renameRollupDefinitions,
+ @Singular("renamePartitionDefinition") final
Collection<RenamePartitionDefinitionSegment> renamePartitionDefinitions,
+ @Singular("addPartitionDefinition") final
Collection<AddPartitionDefinitionSegment> addPartitionDefinitions,
+ @Singular("addPartitionsSegment") final
Collection<AddPartitionsSegment> addPartitionsSegments,
+ @Singular("modifyPartitionDefinition") final
Collection<ModifyPartitionDefinitionSegment> modifyPartitionDefinitions) {
super(databaseType);
+ this.table = table;
+ this.renameTable = renameTable;
+ this.replaceTable = replaceTable;
+ this.convertTableDefinition = convertTableDefinition;
+ this.modifyCollectionRetrieval = modifyCollectionRetrieval;
+ this.algorithmSegment = algorithmSegment;
+ this.lockTableSegment = lockTableSegment;
+ this.dropPrimaryKeyDefinition = dropPrimaryKeyDefinition;
+ this.setPropertiesDefinitions = setPropertiesDefinitions;
+ this.enableFeatureDefinitions = enableFeatureDefinitions;
+ this.modifyTableCommentDefinitions = modifyTableCommentDefinitions;
+ this.modifyEngineDefinitions = modifyEngineDefinitions;
+ this.modifyDistributionDefinitions = modifyDistributionDefinitions;
+ this.addColumnDefinitions = addColumnDefinitions;
+ this.modifyColumnDefinitions = modifyColumnDefinitions;
+ this.changeColumnDefinitions = changeColumnDefinitions;
+ this.dropColumnDefinitions = dropColumnDefinitions;
+ this.addConstraintDefinitions = addConstraintDefinitions;
+ this.validateConstraintDefinitions = validateConstraintDefinitions;
+ this.modifyConstraintDefinitions = modifyConstraintDefinitions;
+ this.dropConstraintDefinitions = dropConstraintDefinitions;
+ this.dropIndexDefinitions = dropIndexDefinitions;
+ this.renameColumnDefinitions = renameColumnDefinitions;
+ this.renameIndexDefinitions = renameIndexDefinitions;
+ this.replaceColumnDefinitions = replaceColumnDefinitions;
+ this.addRollupDefinitions = addRollupDefinitions;
+ this.dropRollupDefinitions = dropRollupDefinitions;
+ this.renameRollupDefinitions = renameRollupDefinitions;
+ this.renamePartitionDefinitions = renamePartitionDefinitions;
+ this.addPartitionDefinitions = addPartitionDefinitions;
+ this.addPartitionsSegments = addPartitionsSegments;
+ this.modifyPartitionDefinitions = modifyPartitionDefinitions;
+ attributes = new SQLStatementAttributes(new
TableSQLStatementAttribute(getTables()), new
AlterTableConstraintSQLStatementAttribute(), new
AlterTableIndexSQLStatementAttribute());
+ }
+
+ private Collection<SimpleTableSegment> getTables() {
+ Collection<SimpleTableSegment> result = new LinkedList<>();
+ result.add(table);
+ if (getRenameTable().isPresent()) {
+ result.add(getRenameTable().get());
+ }
+ if (getReplaceTable().isPresent() && null !=
getReplaceTable().get().getReplaceTable()) {
+ result.add(getReplaceTable().get().getReplaceTable());
+ }
+ for (AddColumnDefinitionSegment each : addColumnDefinitions) {
+ for (ColumnDefinitionSegment columnDefinition :
each.getColumnDefinitions()) {
+ result.addAll(columnDefinition.getReferencedTables());
+ }
+ }
+ for (ModifyColumnDefinitionSegment each : modifyColumnDefinitions) {
+ result.addAll(each.getColumnDefinition().getReferencedTables());
+ }
+ for (AddConstraintDefinitionSegment each : addConstraintDefinitions) {
+
each.getConstraintDefinition().getReferencedTable().ifPresent(result::add);
+ }
+ for (ReplaceColumnDefinitionSegment each : replaceColumnDefinitions) {
+ for (ColumnDefinitionSegment columnDefinition :
each.getColumnDefinitions()) {
+ result.addAll(columnDefinition.getReferencedTables());
+ }
+ }
+ return result;
}
/**
@@ -208,35 +296,6 @@ public final class AlterTableStatement extends
DDLStatement {
@Override
public void buildAttributes() {
- attributes = new SQLStatementAttributes(new
TableSQLStatementAttribute(getTables()), new
AlterTableConstraintSQLStatementAttribute(), new
AlterTableIndexSQLStatementAttribute());
- }
-
- private Collection<SimpleTableSegment> getTables() {
- Collection<SimpleTableSegment> result = new LinkedList<>();
- result.add(table);
- if (getRenameTable().isPresent()) {
- result.add(getRenameTable().get());
- }
- if (getReplaceTable().isPresent() && null !=
getReplaceTable().get().getReplaceTable()) {
- result.add(getReplaceTable().get().getReplaceTable());
- }
- for (AddColumnDefinitionSegment each : addColumnDefinitions) {
- for (ColumnDefinitionSegment columnDefinition :
each.getColumnDefinitions()) {
- result.addAll(columnDefinition.getReferencedTables());
- }
- }
- for (ModifyColumnDefinitionSegment each : modifyColumnDefinitions) {
- result.addAll(each.getColumnDefinition().getReferencedTables());
- }
- for (AddConstraintDefinitionSegment each : addConstraintDefinitions) {
-
each.getConstraintDefinition().getReferencedTable().ifPresent(result::add);
- }
- for (ReplaceColumnDefinitionSegment each : replaceColumnDefinitions) {
- for (ColumnDefinitionSegment columnDefinition :
each.getColumnDefinitions()) {
- result.addAll(columnDefinition.getReferencedTables());
- }
- }
- return result;
}
private class AlterTableConstraintSQLStatementAttribute implements
ConstraintSQLStatementAttribute {