Commit ed2e0518 authored by terrymanu's avatar terrymanu
Browse files

for #2084, AndPredicateSegment => AndConditionSegment

parent e6afabe5
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@ import org.apache.shardingsphere.core.parse.antlr.extractor.impl.common.column.C
import org.apache.shardingsphere.core.parse.antlr.extractor.util.ExtractorUtils;
import org.apache.shardingsphere.core.parse.antlr.extractor.util.RuleName;
import org.apache.shardingsphere.core.parse.antlr.sql.segment.dml.column.ColumnSegment;
import org.apache.shardingsphere.core.parse.antlr.sql.segment.dml.condition.AndConditionSegment;
import org.apache.shardingsphere.core.parse.antlr.sql.segment.dml.condition.AndPredicateSegment;
import org.apache.shardingsphere.core.parse.antlr.sql.segment.dml.condition.OrConditionSegment;
import org.apache.shardingsphere.core.parse.antlr.sql.segment.dml.condition.PredicateSegment;
import org.apache.shardingsphere.core.parse.antlr.sql.segment.dml.expr.BetweenValueExpressionSegment;
@@ -98,9 +98,9 @@ public final class PredicateExtractor {
            return Optional.absent();
        }
        OrConditionSegment result = new OrConditionSegment();
        AndConditionSegment newAndCondition = new AndConditionSegment();
        newAndCondition.getPredicates().add(predicate.get());
        result.getAndConditions().add(newAndCondition);
        AndPredicateSegment newAndPredicate = new AndPredicateSegment();
        newAndPredicate.getPredicates().add(predicate.get());
        result.getAndPredicates().add(newAndPredicate);
        return Optional.of(result);
    }
    
@@ -194,16 +194,16 @@ public final class PredicateExtractor {
    
    private OrConditionSegment mergeCondition(final OrConditionSegment leftOrCondition, final OrConditionSegment rightOrCondition, final String operator) {
        if (LogicalOperator.isOrOperator(operator)) {
            leftOrCondition.getAndConditions().addAll(rightOrCondition.getAndConditions());
            leftOrCondition.getAndPredicates().addAll(rightOrCondition.getAndPredicates());
            return leftOrCondition;
        }
        OrConditionSegment result = new OrConditionSegment();
        for (AndConditionSegment each : leftOrCondition.getAndConditions()) {
            for (AndConditionSegment eachRightOr : rightOrCondition.getAndConditions()) {
                AndConditionSegment tempList = new AndConditionSegment();
        for (AndPredicateSegment each : leftOrCondition.getAndPredicates()) {
            for (AndPredicateSegment eachRightOr : rightOrCondition.getAndPredicates()) {
                AndPredicateSegment tempList = new AndPredicateSegment();
                tempList.getPredicates().addAll(each.getPredicates());
                tempList.getPredicates().addAll(eachRightOr.getPredicates());
                result.getAndConditions().add(tempList);
                result.getAndPredicates().add(tempList);
            }
        }
        return result;
+1 −1
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ public final class WhereExtractor implements OptionalSQLSegmentExtractor {
            setPropertiesForRevert(result, parameterMarkerIndexes, whereNode.get());
            Optional<OrConditionSegment> orConditionSegment = extractOrConditionSegment(parameterMarkerIndexes, whereNode.get());
            if (orConditionSegment.isPresent()) {
                result.getConditions().getAndConditions().addAll(orConditionSegment.get().getAndConditions());
                result.getConditions().getAndPredicates().addAll(orConditionSegment.get().getAndPredicates());
            }
        }
        return Optional.of(result);
+2 −2
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@ import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData;
import org.apache.shardingsphere.core.metadata.table.TableMetaData;
import org.apache.shardingsphere.core.parse.antlr.filler.api.SQLSegmentFiller;
import org.apache.shardingsphere.core.parse.antlr.sql.segment.dml.condition.AndConditionSegment;
import org.apache.shardingsphere.core.parse.antlr.sql.segment.dml.condition.AndPredicateSegment;
import org.apache.shardingsphere.core.parse.antlr.sql.segment.dml.condition.OrConditionSegment;
import org.apache.shardingsphere.core.parse.antlr.sql.segment.dml.condition.PredicateSegment;
import org.apache.shardingsphere.core.parse.antlr.sql.statement.SQLStatement;
@@ -83,7 +83,7 @@ public class EncryptOrConditionFiller implements SQLSegmentFiller<OrConditionSeg
    private OrCondition filterCondition(final SQLStatement sqlStatement, final OrConditionSegment orCondition) {
        OrCondition result = new OrCondition();
        Set<Integer> filledConditionStopIndexes = new HashSet<>();
        for (AndConditionSegment each : orCondition.getAndConditions()) {
        for (AndPredicateSegment each : orCondition.getAndPredicates()) {
            for (PredicateSegment predicate : each.getPredicates()) {
                if (null == predicate.getColumn()) {
                    continue;
+3 −3
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ import org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData;
import org.apache.shardingsphere.core.metadata.table.TableMetaData;
import org.apache.shardingsphere.core.parse.antlr.filler.api.SQLSegmentFiller;
import org.apache.shardingsphere.core.parse.antlr.sql.segment.dml.column.ColumnSegment;
import org.apache.shardingsphere.core.parse.antlr.sql.segment.dml.condition.AndConditionSegment;
import org.apache.shardingsphere.core.parse.antlr.sql.segment.dml.condition.AndPredicateSegment;
import org.apache.shardingsphere.core.parse.antlr.sql.segment.dml.condition.OrConditionSegment;
import org.apache.shardingsphere.core.parse.antlr.sql.segment.dml.condition.PredicateSegment;
import org.apache.shardingsphere.core.parse.antlr.sql.statement.SQLStatement;
@@ -102,7 +102,7 @@ public final class OrConditionFiller implements SQLSegmentFiller<OrConditionSegm
    
    private OrCondition filterCondition(final ShardingTableMetaData shardingTableMetaData, final SQLStatement sqlStatement, final OrConditionSegment orCondition, final ShardingRule shardingRule) {
        OrCondition result = new OrCondition();
        for (AndConditionSegment each : orCondition.getAndConditions()) {
        for (AndPredicateSegment each : orCondition.getAndPredicates()) {
            List<PredicateSegment> predicates = new LinkedList<>();
            boolean needSharding = false;
            for (PredicateSegment predicate : each.getPredicates()) {
@@ -129,7 +129,7 @@ public final class OrConditionFiller implements SQLSegmentFiller<OrConditionSegm
            }
        }
        Set<Integer> filledConditionStopIndexes = new HashSet<>();
        for (AndConditionSegment each : orCondition.getAndConditions()) {
        for (AndPredicateSegment each : orCondition.getAndPredicates()) {
            for (PredicateSegment predicate : each.getPredicates()) {
                if (null == predicate.getColumn()) {
                    continue;
+2 −2
Original line number Diff line number Diff line
@@ -25,13 +25,13 @@ import java.util.LinkedList;
import java.util.List;

/**
 * And condition segment.
 * And predicate segment.
 * 
 * @author duhongjun
 */
@RequiredArgsConstructor
@Getter
public final class AndConditionSegment implements SQLSegment {
public final class AndPredicateSegment implements SQLSegment {
    
    private List<PredicateSegment> predicates = new LinkedList<>();
}
Loading