From 3c69db4ce35822aad5dfcc67934bd3b08699df52 Mon Sep 17 00:00:00 2001 From: shenli Date: Thu, 8 Oct 2015 14:36:53 +0800 Subject: [PATCH] parser: Support dollar in identifier --- parser/parser_test.go | 3 +++ parser/scanner.l | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/parser/parser_test.go b/parser/parser_test.go index ad89e84419..3311d0c22f 100644 --- a/parser/parser_test.go +++ b/parser/parser_test.go @@ -469,6 +469,9 @@ func (s *testParserSuite) TestParser0(c *C) { // For quote identifier {"select `a`, `a.b`, `a b` from t", true}, + + // For unquoted identifier + {"create table MergeContextTest$Simple (value integer not null, primary key (value))", true}, } for _, t := range table { diff --git a/parser/scanner.l b/parser/scanner.l index 58dccbd562..8637da38d4 100644 --- a/parser/scanner.l +++ b/parser/scanner.l @@ -464,7 +464,7 @@ user {u}{s}{e}{r} using {u}{s}{i}{n}{g} idchar0 [a-zA-Z_] -idchars {idchar0}|[0-9] +idchars {idchar0}|[0-9$] // See: https://dev.mysql.com/doc/refman/5.7/en/identifiers.html ident {idchar0}{idchars}* user_var "@"{ident}