Loading sharding-core/sharding-core-parse/sharding-core-parse-common/src/main/java/org/apache/shardingsphere/core/parse/antlr/extractor/impl/dml/PredicateExtractor.java +7 −1 Original line number Diff line number Diff line Loading @@ -144,9 +144,15 @@ public final class PredicateExtractor implements OptionalSQLSegmentExtractor { ParserRuleContext booleanPrimaryNode = comparisonOperatorNode.get().getParent(); Optional<ParserRuleContext> leftColumnNode = ExtractorUtils.findFirstChildNode((ParserRuleContext) booleanPrimaryNode.getChild(0), RuleName.COLUMN_NAME); Optional<ParserRuleContext> rightColumnNode = ExtractorUtils.findFirstChildNode((ParserRuleContext) booleanPrimaryNode.getChild(2), RuleName.COLUMN_NAME); if (leftColumnNode.isPresent() && rightColumnNode.isPresent() || !leftColumnNode.isPresent() && !rightColumnNode.isPresent()) { if (!leftColumnNode.isPresent() && !rightColumnNode.isPresent()) { return Optional.absent(); } if (leftColumnNode.isPresent() && rightColumnNode.isPresent()) { Optional<ColumnSegment> leftColumn = columnExtractor.extract(leftColumnNode.get(), parameterMarkerIndexes); Optional<ColumnSegment> rightColumn = columnExtractor.extract(rightColumnNode.get(), parameterMarkerIndexes); Preconditions.checkState(leftColumn.isPresent() && rightColumn.isPresent()); return Optional.of(new PredicateSegment(leftColumn.get(), comparisonOperatorNode.get().getText(), rightColumn.get(), booleanPrimaryNode.getStop().getStopIndex())); } Optional<ColumnSegment> column = columnExtractor.extract(exprNode, parameterMarkerIndexes); Preconditions.checkState(column.isPresent()); ParserRuleContext valueNode = leftColumnNode.isPresent() Loading Loading
sharding-core/sharding-core-parse/sharding-core-parse-common/src/main/java/org/apache/shardingsphere/core/parse/antlr/extractor/impl/dml/PredicateExtractor.java +7 −1 Original line number Diff line number Diff line Loading @@ -144,9 +144,15 @@ public final class PredicateExtractor implements OptionalSQLSegmentExtractor { ParserRuleContext booleanPrimaryNode = comparisonOperatorNode.get().getParent(); Optional<ParserRuleContext> leftColumnNode = ExtractorUtils.findFirstChildNode((ParserRuleContext) booleanPrimaryNode.getChild(0), RuleName.COLUMN_NAME); Optional<ParserRuleContext> rightColumnNode = ExtractorUtils.findFirstChildNode((ParserRuleContext) booleanPrimaryNode.getChild(2), RuleName.COLUMN_NAME); if (leftColumnNode.isPresent() && rightColumnNode.isPresent() || !leftColumnNode.isPresent() && !rightColumnNode.isPresent()) { if (!leftColumnNode.isPresent() && !rightColumnNode.isPresent()) { return Optional.absent(); } if (leftColumnNode.isPresent() && rightColumnNode.isPresent()) { Optional<ColumnSegment> leftColumn = columnExtractor.extract(leftColumnNode.get(), parameterMarkerIndexes); Optional<ColumnSegment> rightColumn = columnExtractor.extract(rightColumnNode.get(), parameterMarkerIndexes); Preconditions.checkState(leftColumn.isPresent() && rightColumn.isPresent()); return Optional.of(new PredicateSegment(leftColumn.get(), comparisonOperatorNode.get().getText(), rightColumn.get(), booleanPrimaryNode.getStop().getStopIndex())); } Optional<ColumnSegment> column = columnExtractor.extract(exprNode, parameterMarkerIndexes); Preconditions.checkState(column.isPresent()); ParserRuleContext valueNode = leftColumnNode.isPresent() Loading