Commit Graph

27 Commits

Author SHA1 Message Date
d2debf2fdf [parser] parse until eof (#367) 2021-10-09 14:53:23 +08:00
01abdb1fbd [parser] parser: fix lexer that treat 9eTSs as a float (#208) 2021-10-09 14:53:23 +08:00
433fd2d301 [parser] lexer: recognize "@@system var" and fix start offset of "@user var" (#112) 2021-10-09 14:53:23 +08:00
c270f55405 [parser] *: move github.com/pingcap/tidb/parser here (#1) 2021-10-09 14:53:23 +08:00
89dda9d9a8 *: move parser to a separate repository (#8036) 2018-10-25 11:12:10 +08:00
a18d27ea14 parser: fix single line comment end with newline (#7612) 2018-09-05 10:29:11 +08:00
fd3706148f lexer: support more syntaxes regarding 'SET Syntax' (#7020) 2018-07-10 18:20:33 +08:00
ca7403a814 parser: refactor parser step2 (#4652)
Refactor expression syntax to use MySQL naming and structure.
Partially fix issue #4026
2017-09-29 15:34:03 +08:00
dd06221d71 parser: refactor parser first step (#4545)
* parser: refactor parser first step

This is the first step to refactor parser. it solve several problems.

1. function name can be general identifier, we don't need to define a keyword for a builtin function.

2. write test to make sure keyword is consistent with lever token. this fixes #4538.

3. Removed ReservedKeyword, solve the identifier in scanner.

4. Simplified precedence definition.

* *: address comment
2017-09-18 21:04:00 +08:00
e6283e9fc6 parser: fix #4354, support empty bit-value literal syntax b'' (#4370) 2017-08-30 10:03:34 +08:00
fce58065d7 parser,plan,ast: fix #4239, concatenates string literals which placed each other, and use first string as projection name (#4252) 2017-08-21 12:37:27 +08:00
161c532025 parser: (partially) fix float point parsing with leading dot (#3964) 2017-08-01 22:28:48 +08:00
2745333435 parser,plan: support \N shortcut for null (#3943) 2017-08-01 14:16:43 +08:00
0aa27c3d3d lexer: fix panic when input "'\\" (#3948)
* lexer: fix panic when input "'\\"
2017-07-31 11:35:36 +08:00
76cc17ebf7 parser: support username without quotes (#3742) 2017-07-15 10:16:24 +08:00
8f79c2031b parser: change intLit to decLit when the value out of range (#2954) 2017-03-29 23:16:48 +08:00
6d58b5c6ec parser: parse /*+ */ for optimizer hint (#2904) 2017-03-21 14:47:21 +08:00
ecb01eb3af parser: handle the national character set like N'literal' (#2773) 2017-03-06 19:08:54 +08:00
849ec6c63e parser: support ANSI_QUOTES sql mode (#2754)
In ANSI_QUOTES sql mode, "xxx" is parsed to  identifier,
similar to `xxx` in normal sql mode

* fix typo
2017-03-01 13:45:19 +08:00
2594e4f799 parser: parse use 10 instead 0 (#2404) 2017-01-06 11:29:55 +08:00
8a03344d05 *: deprecate DateArithInterval (#2368) 2017-01-04 11:42:59 +08:00
5917a784be parser: fix .1_t_1_x parsed as .1 _t_1_x (#2210)
it should not be parsed as a .1(float) and _t_1_x(identifier)
instead, it should be .(dot) 1_t_1_x(identifier)
2016-12-09 11:47:46 +08:00
f15333b8c7 parser: fix bug 0_x should parse to identifier (#2200) 2016-12-08 17:14:15 +08:00
ca700d2c75 parser: fix wrong offset for token inner mysql comment (#2141) 2016-11-30 22:29:07 +08:00
91050ff1f8 parser: parse decimal literal instead of float literal (#2044)
Improves MySQL compatibility.
2016-11-21 19:29:25 +08:00
94b5d1001f parser: handle MySQL-specific-code comment syntax in parser (#2018)
* parser: handle MySQL-specific-code comment syntax in parser

fix issue 2017
2016-11-17 10:47:21 +08:00
3b8bf2135c parser: tiny clean up (#1992)
rename scanner_test.go to lexer_test.go
make the code more robust when unicode.ReplacementChar appears
2016-11-13 15:20:01 +08:00