Commit 428e69dd authored by terrymanu's avatar terrymanu
Browse files

split ColumnPositionSegment to ColumnFirstPositionSegment & ColumnAfterPositionSegment

parent a5c82539
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -19,8 +19,8 @@ package io.shardingsphere.core.parsing.antlr.extractor.impl.dialect.mysql.defini

import com.google.common.base.Optional;
import io.shardingsphere.core.parsing.antlr.extractor.impl.definition.column.AddColumnDefinitionExtractor;
import io.shardingsphere.core.parsing.antlr.sql.segment.definition.column.ColumnPositionSegment;
import io.shardingsphere.core.parsing.antlr.sql.segment.definition.column.alter.AddColumnDefinitionSegment;
import io.shardingsphere.core.parsing.antlr.sql.segment.definition.column.position.ColumnPositionSegment;
import org.antlr.v4.runtime.ParserRuleContext;

/**
+1 −1
Original line number Diff line number Diff line
@@ -23,8 +23,8 @@ import io.shardingsphere.core.parsing.antlr.extractor.impl.definition.column.Col
import io.shardingsphere.core.parsing.antlr.extractor.util.ExtractorUtils;
import io.shardingsphere.core.parsing.antlr.extractor.util.RuleName;
import io.shardingsphere.core.parsing.antlr.sql.segment.definition.column.ColumnDefinitionSegment;
import io.shardingsphere.core.parsing.antlr.sql.segment.definition.column.ColumnPositionSegment;
import io.shardingsphere.core.parsing.antlr.sql.segment.definition.column.alter.ModifyColumnDefinitionSegment;
import io.shardingsphere.core.parsing.antlr.sql.segment.definition.column.position.ColumnPositionSegment;
import org.antlr.v4.runtime.ParserRuleContext;

/**
+6 −5
Original line number Diff line number Diff line
@@ -21,7 +21,9 @@ import com.google.common.base.Optional;
import io.shardingsphere.core.parsing.antlr.extractor.OptionalSQLSegmentExtractor;
import io.shardingsphere.core.parsing.antlr.extractor.util.ExtractorUtils;
import io.shardingsphere.core.parsing.antlr.extractor.util.RuleName;
import io.shardingsphere.core.parsing.antlr.sql.segment.definition.column.ColumnPositionSegment;
import io.shardingsphere.core.parsing.antlr.sql.segment.definition.column.position.ColumnAfterPositionSegment;
import io.shardingsphere.core.parsing.antlr.sql.segment.definition.column.position.ColumnFirstPositionSegment;
import io.shardingsphere.core.parsing.antlr.sql.segment.definition.column.position.ColumnPositionSegment;
import lombok.RequiredArgsConstructor;
import org.antlr.v4.runtime.ParserRuleContext;

@@ -42,10 +44,9 @@ public final class MySQLColumnPositionExtractor implements OptionalSQLSegmentExt
            return Optional.absent();
        }
        Optional<ParserRuleContext> columnNameNode = ExtractorUtils.findFirstChildNode(firstOrAfterColumnNode.get(), RuleName.COLUMN_NAME);
        ColumnPositionSegment result = new ColumnPositionSegment(firstOrAfterColumnNode.get().getStart().getStartIndex(), columnName);
        if (columnNameNode.isPresent()) {
            result.setAfterColumnName(columnNameNode.get().getText());
        }
        ColumnPositionSegment result = columnNameNode.isPresent()
                ? new ColumnAfterPositionSegment(columnName, firstOrAfterColumnNode.get().getStart().getStartIndex(), columnNameNode.get().getText())
                : new ColumnFirstPositionSegment(columnName, firstOrAfterColumnNode.get().getStart().getStartIndex());
        return Optional.of(result);
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -19,8 +19,8 @@ package io.shardingsphere.core.parsing.antlr.extractor.impl.dialect.mysql.defini

import com.google.common.base.Optional;
import io.shardingsphere.core.parsing.antlr.extractor.impl.definition.column.ModifyColumnDefinitionExtractor;
import io.shardingsphere.core.parsing.antlr.sql.segment.definition.column.ColumnPositionSegment;
import io.shardingsphere.core.parsing.antlr.sql.segment.definition.column.alter.ModifyColumnDefinitionSegment;
import io.shardingsphere.core.parsing.antlr.sql.segment.definition.column.position.ColumnPositionSegment;
import org.antlr.v4.runtime.ParserRuleContext;

/**
+1 −1
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@ public final class AddColumnDefinitionFiller implements SQLStatementFiller<AddCo
            alterTableStatement.getAddedColumnDefinitions().add(sqlSegment.getColumnDefinition());
        }
        if (sqlSegment.getColumnPosition().isPresent()) {
            alterTableStatement.getPositionChangedColumns().add(sqlSegment.getColumnPosition().get());
            alterTableStatement.getChangedPositionColumns().add(sqlSegment.getColumnPosition().get());
        }
    }
}
Loading