Commit 8bd2dc02 authored by terrymanu's avatar terrymanu
Browse files

refactor AlterTableStatement

parent 304de83d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -57,7 +57,7 @@ public final class ConstraintDefinitionFiller implements SQLStatementFiller<Cons
            Optional<ColumnDefinition> updatedColumn = alterTableStatement.findColumnDefinition(each, shardingTableMetaData);
            if (updatedColumn.isPresent()) {
                updatedColumn.get().setPrimaryKey(true);
                alterTableStatement.getUpdatedColumnDefinitions().put(each, updatedColumn.get());
                alterTableStatement.getModifiedColumnDefinitions().put(each, updatedColumn.get());
            }
        }
    }
+2 −2
Original line number Diff line number Diff line
@@ -47,11 +47,11 @@ public final class ModifyColumnDefinitionFiller implements SQLStatementFiller<Mo
            if (null != sqlSegment.getColumnDefinition().getDataType()) {
                oldDefinition.get().setType(sqlSegment.getColumnDefinition().getDataType());
            }
            alterTableStatement.getUpdatedColumnDefinitions().put(oldColumnName.get(), oldDefinition.get());
            alterTableStatement.getModifiedColumnDefinitions().put(oldColumnName.get(), oldDefinition.get());
        } else {
            ColumnDefinition columnDefinition = new ColumnDefinition(
                    sqlSegment.getColumnDefinition().getColumnName(), sqlSegment.getColumnDefinition().getDataType(), sqlSegment.getColumnDefinition().isPrimaryKey());
            alterTableStatement.getUpdatedColumnDefinitions().put(sqlSegment.getColumnDefinition().getColumnName(), columnDefinition);
            alterTableStatement.getModifiedColumnDefinitions().put(sqlSegment.getColumnDefinition().getColumnName(), columnDefinition);
        }
        if (null != sqlSegment.getColumnPosition()) {
            alterTableStatement.getPositionChangedColumns().add(sqlSegment.getColumnPosition());
+1 −1
Original line number Diff line number Diff line
@@ -53,7 +53,7 @@ public class AlterTableOptimizer implements SQLStatementOptimizer {
    private List<ColumnMetaData> getUpdatedColumnMetaDataList(final AlterTableStatement alterTableStatement, final TableMetaData oldTableMetaData) {
        List<ColumnMetaData> result = new LinkedList<>();
        for (ColumnMetaData each : oldTableMetaData.getColumnMetaData()) {
            ColumnDefinition updatedColumnDefinition = alterTableStatement.getUpdatedColumnDefinitions().get(each.getColumnName());
            ColumnDefinition updatedColumnDefinition = alterTableStatement.getModifiedColumnDefinitions().get(each.getColumnName());
            String columnName;
            String columnType;
            boolean primaryKey;
+2 −2
Original line number Diff line number Diff line
@@ -41,9 +41,9 @@ public final class AlterTableStatement extends DDLStatement {
    
    private final List<ColumnDefinition> addedColumnDefinitions = new LinkedList<>();
    
    private final List<String> dropColumnNames = new LinkedList<>();
    private final Map<String, ColumnDefinition> modifiedColumnDefinitions = new LinkedHashMap<>();
    
    private final Map<String, ColumnDefinition> updatedColumnDefinitions = new LinkedHashMap<>();
    private final List<String> dropColumnNames = new LinkedList<>();
    
    private final List<ColumnPositionSegment> positionChangedColumns = new LinkedList<>();
    
+2 −2
Original line number Diff line number Diff line
@@ -79,9 +79,9 @@ public final class AlterTableAssert {
    }
    
    private void assertUpdateColumns(final AlterTableStatement actual, final List<ExpectedUpdateColumnDefinition> expected) {
        assertThat(assertMessage.getFullAssertMessage("Update column size error: "), actual.getUpdatedColumnDefinitions().size(), is(expected.size()));
        assertThat(assertMessage.getFullAssertMessage("Update column size error: "), actual.getModifiedColumnDefinitions().size(), is(expected.size()));
        int count = 0;
        for (Entry<String, ColumnDefinition> each : actual.getUpdatedColumnDefinitions().entrySet()) {
        for (Entry<String, ColumnDefinition> each : actual.getModifiedColumnDefinitions().entrySet()) {
            assertUpdateColumnDefinition(each, expected.get(count));
            count++;
        }