Loading sharding-core/sharding-core-parse/sharding-core-parse-common/src/main/java/org/apache/shardingsphere/core/parse/antlr/extractor/impl/dml/ExpressionExtractor.java +2 −2 Original line number Diff line number Diff line Loading @@ -78,11 +78,11 @@ public final class ExpressionExtractor implements OptionalSQLSegmentExtractor { if (bitExprNode.isPresent() && 1 != bitExprNode.get().getChildCount()) { return result; } Optional<ParserRuleContext> numberNode = ExtractorUtils.findFirstChildNode(expressionNode, RuleName.NUMBER); Optional<ParserRuleContext> numberNode = ExtractorUtils.findFirstChildNode(expressionNode, RuleName.NUMBER_LITERALS); if (numberNode.isPresent()) { result.setLiterals(NumberUtil.getExactlyNumber(numberNode.get().getText(), 10)); } Optional<ParserRuleContext> stringNode = ExtractorUtils.findFirstChildNode(expressionNode, RuleName.STRING); Optional<ParserRuleContext> stringNode = ExtractorUtils.findFirstChildNode(expressionNode, RuleName.STRING_LITERALS); if (stringNode.isPresent()) { String text = stringNode.get().getText(); result.setLiterals(text.substring(1, text.length() - 1)); Loading sharding-core/sharding-core-parse/sharding-core-parse-common/src/main/java/org/apache/shardingsphere/core/parse/antlr/extractor/impl/dml/select/OrderByItemExtractor.java +1 −1 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ public final class OrderByItemExtractor implements CollectionSQLSegmentExtractor Collection<OrderByItemSegment> result = new LinkedList<>(); for (ParserRuleContext each : ExtractorUtils.getAllDescendantNodes(ancestorNode, RuleName.ORDER_BY_ITEM)) { OrderDirection orderDirection = 2 == each.getChildCount() && OrderDirection.DESC.name().equalsIgnoreCase(each.getChild(1).getText()) ? OrderDirection.DESC : OrderDirection.ASC; Optional<ParserRuleContext> indexNode = ExtractorUtils.findFirstChildNode(each, RuleName.NUMBER); Optional<ParserRuleContext> indexNode = ExtractorUtils.findFirstChildNode(each, RuleName.NUMBER_LITERALS); if (indexNode.isPresent()) { result.add(new IndexOrderByItemSegment(NumberUtil.getExactlyNumber(indexNode.get().getText(), 10).intValue(), orderDirection, OrderDirection.ASC)); continue; Loading sharding-core/sharding-core-parse/sharding-core-parse-common/src/main/java/org/apache/shardingsphere/core/parse/antlr/extractor/util/RuleName.java +2 −2 Original line number Diff line number Diff line Loading @@ -109,9 +109,9 @@ public enum RuleName { PARAMETER_MARKER("ParameterMarker"), NUMBER("Number"), NUMBER_LITERALS("NumberLiterals"), STRING("String"), STRING_LITERALS("StringLiterals"), EXPR("Expr"), Loading sharding-core/sharding-core-parse/sharding-core-parse-mysql/src/main/antlr4/imports/mysql/BaseRule.g4 +42 −17 Original line number Diff line number Diff line Loading @@ -23,26 +23,51 @@ parameterMarker : QUESTION_ ; number : NUMBER_ literals : stringLiterals | numberLiterals | dateTimeLiterals | hexadecimalLiterals | bitValueLiterals | booleanLiterals | nullValueLiterals ; stringLiterals : characterSetName_? STRING_ collateName_? ; string : STRING_ numberLiterals : NUMBER_ ; literals_ : number | string | TRUE | FALSE | NULL | BIT_NUM_ | HEX_DIGIT_ | (DATE | TIME | TIMESTAMP) STRING_ dateTimeLiterals : (DATE | TIME | TIMESTAMP) STRING_ | LBE_ identifier_ STRING_ RBE_ | IDENTIFIER_ STRING_ COLLATE (STRING_ | IDENTIFIER_)? | characterSet_? BIT_NUM_ collateClause_? ; hexadecimalLiterals : characterSetName_? HEX_DIGIT_ collateName_? ; bitValueLiterals : characterSetName_? BIT_NUM_ collateName_? ; booleanLiterals : TRUE | FALSE ; nullValueLiterals : NULL ; characterSetName_ : IDENTIFIER_ ; collateName_ : IDENTIFIER_ ; identifier_ Loading Loading @@ -153,7 +178,7 @@ bitExpr simpleExpr : functionCall | parameterMarker | literals_ | literals | columnName | simpleExpr COLLATE (STRING_ | identifier_) | variable_ Loading Loading @@ -314,7 +339,7 @@ orderByClause ; orderByItem : (columnName | number | expr) (ASC | DESC)? : (columnName | numberLiterals | expr) (ASC | DESC)? ; dataType Loading sharding-core/sharding-core-parse/sharding-core-parse-mysql/src/main/antlr4/imports/mysql/DDLStatement.g4 +3 −3 Original line number Diff line number Diff line Loading @@ -38,7 +38,7 @@ columnDefinition inlineDataType_ : commonDataTypeOption_ | AUTO_INCREMENT | DEFAULT (literals_ | expr) | DEFAULT (literals | expr) | COLUMN_FORMAT (FIXED | DYNAMIC | DEFAULT) | STORAGE (DISK | MEMORY | DEFAULT) ; Loading Loading @@ -126,7 +126,7 @@ alterSpecification_ | DROP CHECK ignoredIdentifier_ | ALTER CHECK ignoredIdentifier_ NOT? ENFORCED | ALGORITHM EQ_? (DEFAULT | INSTANT | INPLACE | COPY) | ALTER COLUMN? columnName (SET DEFAULT literals_ | DROP DEFAULT) | ALTER COLUMN? columnName (SET DEFAULT literals | DROP DEFAULT) | ALTER INDEX indexName (VISIBLE | INVISIBLE) | changeColumnSpecification | DEFAULT? characterSet_ collateClause_? Loading Loading @@ -264,7 +264,7 @@ partitionLessThanValue_ ; partitionValueList_ : literals_ (COMMA_ literals_)* : literals (COMMA_ literals)* ; partitionDefinitionOption_ 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 +2 −2 Original line number Diff line number Diff line Loading @@ -78,11 +78,11 @@ public final class ExpressionExtractor implements OptionalSQLSegmentExtractor { if (bitExprNode.isPresent() && 1 != bitExprNode.get().getChildCount()) { return result; } Optional<ParserRuleContext> numberNode = ExtractorUtils.findFirstChildNode(expressionNode, RuleName.NUMBER); Optional<ParserRuleContext> numberNode = ExtractorUtils.findFirstChildNode(expressionNode, RuleName.NUMBER_LITERALS); if (numberNode.isPresent()) { result.setLiterals(NumberUtil.getExactlyNumber(numberNode.get().getText(), 10)); } Optional<ParserRuleContext> stringNode = ExtractorUtils.findFirstChildNode(expressionNode, RuleName.STRING); Optional<ParserRuleContext> stringNode = ExtractorUtils.findFirstChildNode(expressionNode, RuleName.STRING_LITERALS); if (stringNode.isPresent()) { String text = stringNode.get().getText(); result.setLiterals(text.substring(1, text.length() - 1)); Loading
sharding-core/sharding-core-parse/sharding-core-parse-common/src/main/java/org/apache/shardingsphere/core/parse/antlr/extractor/impl/dml/select/OrderByItemExtractor.java +1 −1 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ public final class OrderByItemExtractor implements CollectionSQLSegmentExtractor Collection<OrderByItemSegment> result = new LinkedList<>(); for (ParserRuleContext each : ExtractorUtils.getAllDescendantNodes(ancestorNode, RuleName.ORDER_BY_ITEM)) { OrderDirection orderDirection = 2 == each.getChildCount() && OrderDirection.DESC.name().equalsIgnoreCase(each.getChild(1).getText()) ? OrderDirection.DESC : OrderDirection.ASC; Optional<ParserRuleContext> indexNode = ExtractorUtils.findFirstChildNode(each, RuleName.NUMBER); Optional<ParserRuleContext> indexNode = ExtractorUtils.findFirstChildNode(each, RuleName.NUMBER_LITERALS); if (indexNode.isPresent()) { result.add(new IndexOrderByItemSegment(NumberUtil.getExactlyNumber(indexNode.get().getText(), 10).intValue(), orderDirection, OrderDirection.ASC)); continue; Loading
sharding-core/sharding-core-parse/sharding-core-parse-common/src/main/java/org/apache/shardingsphere/core/parse/antlr/extractor/util/RuleName.java +2 −2 Original line number Diff line number Diff line Loading @@ -109,9 +109,9 @@ public enum RuleName { PARAMETER_MARKER("ParameterMarker"), NUMBER("Number"), NUMBER_LITERALS("NumberLiterals"), STRING("String"), STRING_LITERALS("StringLiterals"), EXPR("Expr"), Loading
sharding-core/sharding-core-parse/sharding-core-parse-mysql/src/main/antlr4/imports/mysql/BaseRule.g4 +42 −17 Original line number Diff line number Diff line Loading @@ -23,26 +23,51 @@ parameterMarker : QUESTION_ ; number : NUMBER_ literals : stringLiterals | numberLiterals | dateTimeLiterals | hexadecimalLiterals | bitValueLiterals | booleanLiterals | nullValueLiterals ; stringLiterals : characterSetName_? STRING_ collateName_? ; string : STRING_ numberLiterals : NUMBER_ ; literals_ : number | string | TRUE | FALSE | NULL | BIT_NUM_ | HEX_DIGIT_ | (DATE | TIME | TIMESTAMP) STRING_ dateTimeLiterals : (DATE | TIME | TIMESTAMP) STRING_ | LBE_ identifier_ STRING_ RBE_ | IDENTIFIER_ STRING_ COLLATE (STRING_ | IDENTIFIER_)? | characterSet_? BIT_NUM_ collateClause_? ; hexadecimalLiterals : characterSetName_? HEX_DIGIT_ collateName_? ; bitValueLiterals : characterSetName_? BIT_NUM_ collateName_? ; booleanLiterals : TRUE | FALSE ; nullValueLiterals : NULL ; characterSetName_ : IDENTIFIER_ ; collateName_ : IDENTIFIER_ ; identifier_ Loading Loading @@ -153,7 +178,7 @@ bitExpr simpleExpr : functionCall | parameterMarker | literals_ | literals | columnName | simpleExpr COLLATE (STRING_ | identifier_) | variable_ Loading Loading @@ -314,7 +339,7 @@ orderByClause ; orderByItem : (columnName | number | expr) (ASC | DESC)? : (columnName | numberLiterals | expr) (ASC | DESC)? ; dataType Loading
sharding-core/sharding-core-parse/sharding-core-parse-mysql/src/main/antlr4/imports/mysql/DDLStatement.g4 +3 −3 Original line number Diff line number Diff line Loading @@ -38,7 +38,7 @@ columnDefinition inlineDataType_ : commonDataTypeOption_ | AUTO_INCREMENT | DEFAULT (literals_ | expr) | DEFAULT (literals | expr) | COLUMN_FORMAT (FIXED | DYNAMIC | DEFAULT) | STORAGE (DISK | MEMORY | DEFAULT) ; Loading Loading @@ -126,7 +126,7 @@ alterSpecification_ | DROP CHECK ignoredIdentifier_ | ALTER CHECK ignoredIdentifier_ NOT? ENFORCED | ALGORITHM EQ_? (DEFAULT | INSTANT | INPLACE | COPY) | ALTER COLUMN? columnName (SET DEFAULT literals_ | DROP DEFAULT) | ALTER COLUMN? columnName (SET DEFAULT literals | DROP DEFAULT) | ALTER INDEX indexName (VISIBLE | INVISIBLE) | changeColumnSpecification | DEFAULT? characterSet_ collateClause_? Loading Loading @@ -264,7 +264,7 @@ partitionLessThanValue_ ; partitionValueList_ : literals_ (COMMA_ literals_)* : literals (COMMA_ literals)* ; partitionDefinitionOption_ Loading