Commit 710cb1a8 authored by terrymanu's avatar terrymanu
Browse files

fix test case for merge

parent 4d1e5acb
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -17,16 +17,14 @@

package io.shardingsphere.core.parsing.antlr.extractor.impl.definition.table;

import org.antlr.v4.runtime.ParserRuleContext;

import com.google.common.base.Optional;

import io.shardingsphere.core.parsing.antlr.extractor.OptionalSQLSegmentExtractor;
import io.shardingsphere.core.parsing.antlr.extractor.impl.TableNameExtractor;
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.table.RenameTableSegment;
import io.shardingsphere.core.parsing.antlr.sql.segment.definition.table.RenameTableSegment;
import io.shardingsphere.core.parsing.antlr.sql.segment.table.TableSegment;
import org.antlr.v4.runtime.ParserRuleContext;

/**
 * Rename table extractor.
+7 −7
Original line number Diff line number Diff line
@@ -44,19 +44,19 @@ import java.util.Set;
public final class SelectClauseFiller implements SQLStatementFiller<SelectClauseSegment> {
    
    @Override
    public void fill(final SelectClauseSegment selectClauseSegment, final SQLStatement sqlStatement, final String sql, final ShardingRule shardingRule, final ShardingTableMetaData shardingTableMetaData) {
    public void fill(final SelectClauseSegment sqlSegment, final SQLStatement sqlStatement, final String sql, final ShardingRule shardingRule, final ShardingTableMetaData shardingTableMetaData) {
        SelectStatement selectStatement = (SelectStatement) sqlStatement;
        selectStatement.setFirstSelectItemStartPosition(selectClauseSegment.getFirstSelectItemStartPosition());
        selectStatement.setSelectListLastPosition(selectClauseSegment.getSelectListLastPosition());
        if (selectClauseSegment.getExpressions().isEmpty()) {
        selectStatement.setFirstSelectItemStartPosition(sqlSegment.getFirstSelectItemStartPosition());
        selectStatement.setSelectListLastPosition(sqlSegment.getSelectListLastPosition());
        if (sqlSegment.getExpressions().isEmpty()) {
            return;
        }
        if (selectClauseSegment.isHasDistinct()) {
            fillDistinct(selectClauseSegment, selectStatement, sql, shardingRule, shardingTableMetaData);
        if (sqlSegment.isHasDistinct()) {
            fillDistinct(sqlSegment, selectStatement, sql, shardingRule, shardingTableMetaData);
        } else {
            ExpressionFiller expressionFiller = new ExpressionFiller();
            int offset = 0;
            for (ExpressionSegment each : selectClauseSegment.getExpressions()) {
            for (ExpressionSegment each : sqlSegment.getExpressions()) {
                offset = setDistinctFunctionAlias(each, offset);
                expressionFiller.fill(each, sqlStatement, sql, shardingRule, shardingTableMetaData);
            }
+9 −14
Original line number Diff line number Diff line
@@ -15,10 +15,9 @@
 * </p>
 */

package io.shardingsphere.core.parsing.antlr.filler.impl.ddl;
package io.shardingsphere.core.parsing.antlr.filler.impl.ddl.alter;

import com.google.common.base.Optional;

import io.shardingsphere.core.metadata.table.ShardingTableMetaData;
import io.shardingsphere.core.parsing.antlr.filler.SQLStatementFiller;
import io.shardingsphere.core.parsing.antlr.sql.segment.definition.column.ColumnDefinitionSegment;
@@ -28,24 +27,20 @@ import io.shardingsphere.core.parsing.parser.sql.SQLStatement;
import io.shardingsphere.core.rule.ShardingRule;

/**
 * Rename column filler.
 * Rename column definition filler.
 *
 * @author duhongjun
 */
public class RenameColumnFiller implements SQLStatementFiller<RenameColumnSegment> {
public final class RenameDefinitionColumnFiller implements SQLStatementFiller<RenameColumnSegment> {
    
    @Override
    public void fill(final RenameColumnSegment sqlSegment, final SQLStatement sqlStatement, final String sql, final ShardingRule shardingRule,
                     final ShardingTableMetaData shardingTableMetaData) {
        if (!(sqlStatement instanceof AlterTableStatement)) {
            return;
        }
    public void fill(final RenameColumnSegment sqlSegment, final SQLStatement sqlStatement, final String sql, final ShardingRule shardingRule, final ShardingTableMetaData shardingTableMetaData) {
        AlterTableStatement alterTableStatement = (AlterTableStatement) sqlStatement;
        Optional<ColumnDefinitionSegment> oldDefinition = alterTableStatement.findColumnDefinition(sqlSegment.getOldColumnName(), shardingTableMetaData);
        if (!oldDefinition.isPresent()) {
        Optional<ColumnDefinitionSegment> oldColumnDefinition = alterTableStatement.findColumnDefinition(sqlSegment.getOldColumnName(), shardingTableMetaData);
        if (!oldColumnDefinition.isPresent()) {
            return;
        }
        oldDefinition.get().setColumnName(sqlSegment.getColumnName());
        alterTableStatement.getModifiedColumnDefinitions().put(sqlSegment.getOldColumnName(), oldDefinition.get());
        oldColumnDefinition.get().setColumnName(sqlSegment.getColumnName());
        alterTableStatement.getModifiedColumnDefinitions().put(sqlSegment.getOldColumnName(), oldColumnDefinition.get());
    }
}
+2 −2
Original line number Diff line number Diff line
@@ -15,11 +15,11 @@
 * </p>
 */

package io.shardingsphere.core.parsing.antlr.filler.impl;
package io.shardingsphere.core.parsing.antlr.filler.impl.ddl.alter;

import io.shardingsphere.core.metadata.table.ShardingTableMetaData;
import io.shardingsphere.core.parsing.antlr.filler.SQLStatementFiller;
import io.shardingsphere.core.parsing.antlr.sql.segment.table.RenameTableSegment;
import io.shardingsphere.core.parsing.antlr.sql.segment.definition.table.RenameTableSegment;
import io.shardingsphere.core.parsing.antlr.sql.statement.ddl.AlterTableStatement;
import io.shardingsphere.core.parsing.parser.sql.SQLStatement;
import io.shardingsphere.core.rule.ShardingRule;
+29 −0
Original line number Diff line number Diff line
/*
 * Copyright 2016-2018 shardingsphere.io.
 * <p>
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * </p>
 */

package io.shardingsphere.core.parsing.antlr.sql.segment.definition.table;

import io.shardingsphere.core.parsing.antlr.sql.segment.SQLSegment;
import lombok.Getter;
import lombok.RequiredArgsConstructor;

@RequiredArgsConstructor
@Getter
public final class RenameTableSegment implements SQLSegment {
    
    private final String newTableName;
}
Loading