Commit 304de83d authored by terrymanu's avatar terrymanu
Browse files

refactor ColumnDefinitionSegment

parent d7ccaca0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -32,7 +32,7 @@ public final class MySQLAddColumnDefinitionExtractor extends AddColumnDefinition
    
    @Override
    protected void postExtractColumnDefinition(final ParserRuleContext addColumnNode, final AddColumnDefinitionSegment addColumnDefinitionSegment) {
        Optional<ColumnPositionSegment> columnPositionSegment = new MySQLColumnPositionExtractor(addColumnDefinitionSegment.getColumnDefinition().getName()).extract(addColumnNode);
        Optional<ColumnPositionSegment> columnPositionSegment = new MySQLColumnPositionExtractor(addColumnDefinitionSegment.getColumnDefinition().getColumnName()).extract(addColumnNode);
        if (columnPositionSegment.isPresent()) {
            addColumnDefinitionSegment.setColumnPosition(columnPositionSegment.get());
        }
+1 −1
Original line number Diff line number Diff line
@@ -53,7 +53,7 @@ public final class MySQLChangeColumnDefinitionExtractor implements OptionalSQLSe
        Optional<ColumnDefinitionSegment> columnDefinitionSegment = columnDefinitionExtractor.extract(columnDefinitionNode.get());
        if (columnDefinitionSegment.isPresent()) {
            ModifyColumnDefinitionSegment result = new ModifyColumnDefinitionSegment(oldColumnNameNode.get().getText(), columnDefinitionSegment.get());
            Optional<ColumnPositionSegment> columnPositionSegment = new MySQLColumnPositionExtractor(columnDefinitionSegment.get().getName()).extract(changeColumnNode.get());
            Optional<ColumnPositionSegment> columnPositionSegment = new MySQLColumnPositionExtractor(columnDefinitionSegment.get().getColumnName()).extract(changeColumnNode.get());
            if (columnPositionSegment.isPresent()) {
                result.setColumnPosition(columnPositionSegment.get());
            }
+1 −1
Original line number Diff line number Diff line
@@ -32,7 +32,7 @@ public final class MySQLModifyColumnDefinitionExtractor extends ModifyColumnDefi
    
    @Override
    protected void postExtractColumnDefinition(final ParserRuleContext modifyColumnNode, final ModifyColumnDefinitionSegment modifyColumnDefinitionSegment) {
        Optional<ColumnPositionSegment> columnPositionSegment = new MySQLColumnPositionExtractor(modifyColumnDefinitionSegment.getColumnDefinition().getName()).extract(modifyColumnNode);
        Optional<ColumnPositionSegment> columnPositionSegment = new MySQLColumnPositionExtractor(modifyColumnDefinitionSegment.getColumnDefinition().getColumnName()).extract(modifyColumnNode);
        if (columnPositionSegment.isPresent()) {
            modifyColumnDefinitionSegment.setColumnPosition(columnPositionSegment.get());
        }
+2 −2
Original line number Diff line number Diff line
@@ -37,8 +37,8 @@ public final class AddColumnDefinitionFiller implements SQLStatementFiller<AddCo
                     final SQLStatement sqlStatement, final String sql, final ShardingRule shardingRule, final ShardingTableMetaData shardingTableMetaData) {
        AlterTableStatement alterTableStatement = (AlterTableStatement) sqlStatement;
        ColumnDefinition columnDefinition = new ColumnDefinition(
                sqlSegment.getColumnDefinition().getName(), sqlSegment.getColumnDefinition().getType(), sqlSegment.getColumnDefinition().isPrimaryKey());
        if (!alterTableStatement.findColumnDefinitionFromMetaData(sqlSegment.getColumnDefinition().getName(), shardingTableMetaData).isPresent()) {
                sqlSegment.getColumnDefinition().getColumnName(), sqlSegment.getColumnDefinition().getDataType(), sqlSegment.getColumnDefinition().isPrimaryKey());
        if (!alterTableStatement.findColumnDefinitionFromMetaData(sqlSegment.getColumnDefinition().getColumnName(), shardingTableMetaData).isPresent()) {
            alterTableStatement.getAddedColumnDefinitions().add(columnDefinition);
        }
        if (null != sqlSegment.getColumnPosition()) {
+2 −1
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ public final class ColumnDefinitionFiller implements SQLStatementFiller<ColumnDe
    
    @Override
    public void fill(final ColumnDefinitionSegment sqlSegment, final SQLStatement sqlStatement, final String sql, final ShardingRule shardingRule, final ShardingTableMetaData shardingTableMetaData) {
        ((CreateTableStatement) sqlStatement).getColumnDefinitions().add(new ColumnDefinition(SQLUtil.getExactlyValue(sqlSegment.getName()), sqlSegment.getType(), sqlSegment.isPrimaryKey()));
        ((CreateTableStatement) sqlStatement).getColumnDefinitions().add(
                new ColumnDefinition(SQLUtil.getExactlyValue(sqlSegment.getColumnName()), sqlSegment.getDataType(), sqlSegment.isPrimaryKey()));
    }
}
Loading