Loading sharding-core/sharding-core-parse/sharding-core-parse-common/src/main/java/org/apache/shardingsphere/core/parse/antlr/extractor/impl/dml/ExpressionExtractor.java +4 −4 Original line number Diff line number Diff line Loading @@ -77,17 +77,17 @@ public final class ExpressionExtractor implements OptionalSQLSegmentExtractor { * @return literal expression segment */ public LiteralExpressionSegment extractLiteralExpressionSegment(final ParserRuleContext expressionNode) { LiteralExpressionSegment result = new LiteralExpressionSegment(expressionNode.getStart().getStartIndex(), expressionNode.getStop().getStopIndex()); Optional<ParserRuleContext> numberLiteralsNode = ExtractorUtils.findFirstChildNode(expressionNode, RuleName.NUMBER_LITERALS); Object literals = null; if (numberLiteralsNode.isPresent()) { result.setLiterals(NumberUtil.getExactlyNumber(numberLiteralsNode.get().getText(), 10)); literals = NumberUtil.getExactlyNumber(numberLiteralsNode.get().getText(), 10); } Optional<ParserRuleContext> stringLiteralsNode = ExtractorUtils.findFirstChildNode(expressionNode, RuleName.STRING_LITERALS); if (stringLiteralsNode.isPresent()) { String text = stringLiteralsNode.get().getText(); result.setLiterals(text.substring(1, text.length() - 1)); literals = text.substring(1, text.length() - 1); } return result; return new LiteralExpressionSegment(expressionNode.getStart().getStartIndex(), expressionNode.getStop().getStopIndex(), literals); } // TODO extract column name and value from expression Loading sharding-core/sharding-core-parse/sharding-core-parse-common/src/main/java/org/apache/shardingsphere/core/parse/antlr/sql/segment/dml/expr/LiteralExpressionSegment.java +1 −3 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ package org.apache.shardingsphere.core.parse.antlr.sql.segment.dml.expr; import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.Setter; import org.apache.shardingsphere.core.parse.old.lexer.token.DefaultKeyword; import org.apache.shardingsphere.core.parse.old.parser.expression.SQLExpression; import org.apache.shardingsphere.core.parse.old.parser.expression.SQLNumberExpression; Loading @@ -34,14 +33,13 @@ import org.apache.shardingsphere.core.parse.old.parser.expression.SQLTextExpress */ @RequiredArgsConstructor @Getter @Setter public final class LiteralExpressionSegment implements ExpressionSegment { private final int startIndex; private final int stopIndex; private Object literals; private final Object literals; @Override public SQLExpression getSQLExpression(final String sql) { 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 +4 −4 Original line number Diff line number Diff line Loading @@ -77,17 +77,17 @@ public final class ExpressionExtractor implements OptionalSQLSegmentExtractor { * @return literal expression segment */ public LiteralExpressionSegment extractLiteralExpressionSegment(final ParserRuleContext expressionNode) { LiteralExpressionSegment result = new LiteralExpressionSegment(expressionNode.getStart().getStartIndex(), expressionNode.getStop().getStopIndex()); Optional<ParserRuleContext> numberLiteralsNode = ExtractorUtils.findFirstChildNode(expressionNode, RuleName.NUMBER_LITERALS); Object literals = null; if (numberLiteralsNode.isPresent()) { result.setLiterals(NumberUtil.getExactlyNumber(numberLiteralsNode.get().getText(), 10)); literals = NumberUtil.getExactlyNumber(numberLiteralsNode.get().getText(), 10); } Optional<ParserRuleContext> stringLiteralsNode = ExtractorUtils.findFirstChildNode(expressionNode, RuleName.STRING_LITERALS); if (stringLiteralsNode.isPresent()) { String text = stringLiteralsNode.get().getText(); result.setLiterals(text.substring(1, text.length() - 1)); literals = text.substring(1, text.length() - 1); } return result; return new LiteralExpressionSegment(expressionNode.getStart().getStartIndex(), expressionNode.getStop().getStopIndex(), literals); } // TODO extract column name and value from expression Loading
sharding-core/sharding-core-parse/sharding-core-parse-common/src/main/java/org/apache/shardingsphere/core/parse/antlr/sql/segment/dml/expr/LiteralExpressionSegment.java +1 −3 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ package org.apache.shardingsphere.core.parse.antlr.sql.segment.dml.expr; import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.Setter; import org.apache.shardingsphere.core.parse.old.lexer.token.DefaultKeyword; import org.apache.shardingsphere.core.parse.old.parser.expression.SQLExpression; import org.apache.shardingsphere.core.parse.old.parser.expression.SQLNumberExpression; Loading @@ -34,14 +33,13 @@ import org.apache.shardingsphere.core.parse.old.parser.expression.SQLTextExpress */ @RequiredArgsConstructor @Getter @Setter public final class LiteralExpressionSegment implements ExpressionSegment { private final int startIndex; private final int stopIndex; private Object literals; private final Object literals; @Override public SQLExpression getSQLExpression(final String sql) { Loading