Commit d7f042c6 authored by tristaZero's avatar tristaZero
Browse files

Merge branch 'dev' of ssh://github.com/shardingjdbc/sharding-jdbc into dev

parents 71e85396 710cb1a8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@ 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.IndexSegment;
import io.shardingsphere.core.parsing.antlr.sql.segment.definition.index.IndexSegment;
import io.shardingsphere.core.parsing.parser.token.IndexToken;
import io.shardingsphere.core.util.SQLUtil;
import org.antlr.v4.runtime.ParserRuleContext;
+1 −1
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@ import com.google.common.base.Optional;
import io.shardingsphere.core.parsing.antlr.extractor.CollectionSQLSegmentExtractor;
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.IndexSegment;
import io.shardingsphere.core.parsing.antlr.sql.segment.definition.index.IndexSegment;
import org.antlr.v4.runtime.ParserRuleContext;

import java.util.Collection;
+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);
            }
+1 −1
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@ package io.shardingsphere.core.parsing.antlr.filler.impl.ddl;

import io.shardingsphere.core.metadata.table.ShardingTableMetaData;
import io.shardingsphere.core.parsing.antlr.filler.SQLStatementFiller;
import io.shardingsphere.core.parsing.antlr.sql.segment.IndexSegment;
import io.shardingsphere.core.parsing.antlr.sql.segment.definition.index.IndexSegment;
import io.shardingsphere.core.parsing.parser.sql.SQLStatement;
import io.shardingsphere.core.parsing.parser.token.IndexToken;
import io.shardingsphere.core.rule.ShardingRule;
Loading