Loading sharding-core/sharding-core-parse/sharding-core-parse-common/src/main/java/org/apache/shardingsphere/core/parse/antlr/extractor/impl/dml/ExpressionExtractor.java +3 −3 Original line number Diff line number Diff line Loading @@ -65,9 +65,9 @@ public final class ExpressionExtractor implements OptionalSQLSegmentExtractor { */ public LiteralExpressionSegment extractLiteralExpressionSegment(final ParserRuleContext expressionNode, final Map<ParserRuleContext, Integer> parameterMarkerIndexes) { LiteralExpressionSegment result = new LiteralExpressionSegment(expressionNode.getStart().getStartIndex(), expressionNode.getStop().getStopIndex()); Optional<ParserRuleContext> questionNode = ExtractorUtils.findFirstChildNode(expressionNode, RuleName.PARAMETER_MARKER); if (questionNode.isPresent()) { Integer index = parameterMarkerIndexes.get(questionNode.get()); Optional<ParserRuleContext> parameterMarkerNode = ExtractorUtils.findFirstChildNode(expressionNode, RuleName.PARAMETER_MARKER); if (parameterMarkerNode.isPresent()) { Integer index = parameterMarkerIndexes.get(parameterMarkerNode.get()); result.setPlaceholderIndex(index); return result; } Loading sharding-core/sharding-core-parse/sharding-core-parse-common/src/main/java/org/apache/shardingsphere/core/parse/antlr/extractor/impl/dml/WhereExtractor.java +4 −4 Original line number Diff line number Diff line Loading @@ -59,13 +59,13 @@ public final class WhereExtractor implements OptionalSQLSegmentExtractor { if (parameterMarkerIndexes.isEmpty()) { return; } Collection<ParserRuleContext> questionNodes = ExtractorUtils.getAllDescendantNodes(whereNode, RuleName.PARAMETER_MARKER); if (questionNodes.isEmpty()) { Collection<ParserRuleContext> parameterMarkerNodes = ExtractorUtils.getAllDescendantNodes(whereNode, RuleName.PARAMETER_MARKER); if (parameterMarkerNodes.isEmpty()) { return; } int whereParameterStartIndex = parameterMarkerIndexes.get(questionNodes.iterator().next()); int whereParameterStartIndex = parameterMarkerIndexes.get(parameterMarkerNodes.iterator().next()); whereSegment.setWhereParameterStartIndex(whereParameterStartIndex); whereSegment.setWhereParameterEndIndex(whereParameterStartIndex + questionNodes.size() - 1); whereSegment.setWhereParameterEndIndex(whereParameterStartIndex + parameterMarkerNodes.size() - 1); } private Optional<OrPredicateSegment> extractOrConditionSegment(final ParserRuleContext whereNode, final Map<ParserRuleContext, Integer> parameterMarkerIndexes) { Loading Loading
sharding-core/sharding-core-parse/sharding-core-parse-common/src/main/java/org/apache/shardingsphere/core/parse/antlr/extractor/impl/dml/ExpressionExtractor.java +3 −3 Original line number Diff line number Diff line Loading @@ -65,9 +65,9 @@ public final class ExpressionExtractor implements OptionalSQLSegmentExtractor { */ public LiteralExpressionSegment extractLiteralExpressionSegment(final ParserRuleContext expressionNode, final Map<ParserRuleContext, Integer> parameterMarkerIndexes) { LiteralExpressionSegment result = new LiteralExpressionSegment(expressionNode.getStart().getStartIndex(), expressionNode.getStop().getStopIndex()); Optional<ParserRuleContext> questionNode = ExtractorUtils.findFirstChildNode(expressionNode, RuleName.PARAMETER_MARKER); if (questionNode.isPresent()) { Integer index = parameterMarkerIndexes.get(questionNode.get()); Optional<ParserRuleContext> parameterMarkerNode = ExtractorUtils.findFirstChildNode(expressionNode, RuleName.PARAMETER_MARKER); if (parameterMarkerNode.isPresent()) { Integer index = parameterMarkerIndexes.get(parameterMarkerNode.get()); result.setPlaceholderIndex(index); return result; } Loading
sharding-core/sharding-core-parse/sharding-core-parse-common/src/main/java/org/apache/shardingsphere/core/parse/antlr/extractor/impl/dml/WhereExtractor.java +4 −4 Original line number Diff line number Diff line Loading @@ -59,13 +59,13 @@ public final class WhereExtractor implements OptionalSQLSegmentExtractor { if (parameterMarkerIndexes.isEmpty()) { return; } Collection<ParserRuleContext> questionNodes = ExtractorUtils.getAllDescendantNodes(whereNode, RuleName.PARAMETER_MARKER); if (questionNodes.isEmpty()) { Collection<ParserRuleContext> parameterMarkerNodes = ExtractorUtils.getAllDescendantNodes(whereNode, RuleName.PARAMETER_MARKER); if (parameterMarkerNodes.isEmpty()) { return; } int whereParameterStartIndex = parameterMarkerIndexes.get(questionNodes.iterator().next()); int whereParameterStartIndex = parameterMarkerIndexes.get(parameterMarkerNodes.iterator().next()); whereSegment.setWhereParameterStartIndex(whereParameterStartIndex); whereSegment.setWhereParameterEndIndex(whereParameterStartIndex + questionNodes.size() - 1); whereSegment.setWhereParameterEndIndex(whereParameterStartIndex + parameterMarkerNodes.size() - 1); } private Optional<OrPredicateSegment> extractOrConditionSegment(final ParserRuleContext whereNode, final Map<ParserRuleContext, Integer> parameterMarkerIndexes) { Loading