From 4562785c2a108977ad06a78d818ca0b88fc7091a Mon Sep 17 00:00:00 2001 From: Alexey Milovidov Date: Wed, 12 Jul 2017 22:23:10 +0300 Subject: [PATCH] Using lexer (development) [#CLICKHOUSE-2]. --- dbms/src/Parsers/ExpressionElementParsers.cpp | 2 ++ dbms/src/Parsers/Lexer.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/dbms/src/Parsers/ExpressionElementParsers.cpp b/dbms/src/Parsers/ExpressionElementParsers.cpp index 7bf93fb7774..1eface7329d 100644 --- a/dbms/src/Parsers/ExpressionElementParsers.cpp +++ b/dbms/src/Parsers/ExpressionElementParsers.cpp @@ -403,6 +403,8 @@ bool ParserNumber::parseImpl(Pos & pos, ASTPtr & node, Expected & expected) ++pos; negative = true; } + else if (pos->type == TokenType::Plus) /// Leading plus is simply ignored. + ++pos; Field res; diff --git a/dbms/src/Parsers/Lexer.h b/dbms/src/Parsers/Lexer.h index 70c616f3ad3..ecb0d8c9307 100644 --- a/dbms/src/Parsers/Lexer.h +++ b/dbms/src/Parsers/Lexer.h @@ -13,7 +13,7 @@ enum class TokenType BareWord, /// Either keyword (SELECT) or identifier (column) - Number, /// Always non-negative. 123 or something like 123.456e12, 0x123p12 + Number, /// Always non-negative. No leading plus. 123 or something like 123.456e12, 0x123p12 StringLiteral, /// 'hello word', 'hello''word', 'hello\'word\\' QuotedIdentifier, /// "x", `x`