Loading sharding-core/sharding-core-parse/sharding-core-parse-common/src/main/java/org/apache/shardingsphere/core/parse/antlr/filler/sharding/dml/ShardingOrPredicateFiller.java +12 −8 Original line number Diff line number Diff line Loading @@ -73,14 +73,7 @@ public final class ShardingOrPredicateFiller implements SQLSegmentFiller<OrPredi public OrCondition buildCondition(final OrPredicateSegment sqlSegment, final SQLStatement sqlStatement) { OrCondition result = new OrCondition(); fillShardingConditions(sqlSegment, sqlStatement, result); Collection<Integer> stopIndexes = new HashSet<>(); for (AndPredicateSegment each : sqlSegment.getAndPredicates()) { for (PredicateSegment predicate : each.getPredicates()) { if (!(predicate.getExpression() instanceof ColumnSegment) && stopIndexes.add(predicate.getStopIndex())) { fillEncryptCondition(predicate.getColumn().getName(), getTableName(sqlStatement, predicate), predicate, sqlStatement); } } } fillEncryptConditions(sqlSegment, sqlStatement); return result; } Loading Loading @@ -133,6 +126,17 @@ public final class ShardingOrPredicateFiller implements SQLSegmentFiller<OrPredi } } private void fillEncryptConditions(final OrPredicateSegment sqlSegment, final SQLStatement sqlStatement) { Collection<Integer> stopIndexes = new HashSet<>(); for (AndPredicateSegment each : sqlSegment.getAndPredicates()) { for (PredicateSegment predicate : each.getPredicates()) { if (!(predicate.getExpression() instanceof ColumnSegment) && stopIndexes.add(predicate.getStopIndex())) { fillEncryptCondition(predicate.getColumn().getName(), getTableName(sqlStatement, predicate), predicate, sqlStatement); } } } } private void fillEncryptCondition(final String columnName, final String tableName, final PredicateSegment predicateSegment, final SQLStatement sqlStatement) { if (!shardingRule.getShardingEncryptorEngine().getShardingEncryptor(tableName, columnName).isPresent()) { return; Loading Loading
sharding-core/sharding-core-parse/sharding-core-parse-common/src/main/java/org/apache/shardingsphere/core/parse/antlr/filler/sharding/dml/ShardingOrPredicateFiller.java +12 −8 Original line number Diff line number Diff line Loading @@ -73,14 +73,7 @@ public final class ShardingOrPredicateFiller implements SQLSegmentFiller<OrPredi public OrCondition buildCondition(final OrPredicateSegment sqlSegment, final SQLStatement sqlStatement) { OrCondition result = new OrCondition(); fillShardingConditions(sqlSegment, sqlStatement, result); Collection<Integer> stopIndexes = new HashSet<>(); for (AndPredicateSegment each : sqlSegment.getAndPredicates()) { for (PredicateSegment predicate : each.getPredicates()) { if (!(predicate.getExpression() instanceof ColumnSegment) && stopIndexes.add(predicate.getStopIndex())) { fillEncryptCondition(predicate.getColumn().getName(), getTableName(sqlStatement, predicate), predicate, sqlStatement); } } } fillEncryptConditions(sqlSegment, sqlStatement); return result; } Loading Loading @@ -133,6 +126,17 @@ public final class ShardingOrPredicateFiller implements SQLSegmentFiller<OrPredi } } private void fillEncryptConditions(final OrPredicateSegment sqlSegment, final SQLStatement sqlStatement) { Collection<Integer> stopIndexes = new HashSet<>(); for (AndPredicateSegment each : sqlSegment.getAndPredicates()) { for (PredicateSegment predicate : each.getPredicates()) { if (!(predicate.getExpression() instanceof ColumnSegment) && stopIndexes.add(predicate.getStopIndex())) { fillEncryptCondition(predicate.getColumn().getName(), getTableName(sqlStatement, predicate), predicate, sqlStatement); } } } } private void fillEncryptCondition(final String columnName, final String tableName, final PredicateSegment predicateSegment, final SQLStatement sqlStatement) { if (!shardingRule.getShardingEncryptorEngine().getShardingEncryptor(tableName, columnName).isPresent()) { return; Loading