8930ed05b1
parser: fix bug 'BINARY' not parsed as charset name ( #1803 )
...
* parser: fix bug 'BINARY' not parsed as charset name
2016-10-09 19:45:53 +08:00
a33240d8a8
parser: set flag in parse function. ( #1799 )
...
Every `ast.Statement` needs to set flag before use, set the flag in parse function,
so we don't need to set it somewhere else and won't forget to do it.
2016-10-09 11:36:56 +08:00
6dec14119a
Fix typos ( #1714 )
2016-09-09 22:58:47 +08:00
099e8a9880
parser: Support show function status grammar ( #1710 )
...
Parsed but do nothing. Just make workbench happy.
2016-09-09 16:51:35 +08:00
fe3555e77d
*: FLUSH TABLE statement front end ( #1701 )
2016-09-08 13:27:09 +08:00
9c75a19ebf
parser: mysql start transaction WITH CONSISTENT SNAPSHOT syntax ( #1703 )
2016-09-08 08:19:06 +08:00
5a3f87d099
support unhex. ( #1675 )
2016-09-01 19:25:04 +08:00
7bedd9cd40
parser: recognise \r\n as whitespace ( #1672 )
2016-09-01 11:51:26 +08:00
aabb7664ef
*: Support ceil() and ceiling() ( #1666 )
...
* *: support ceil and ceiling
2016-09-01 10:53:02 +08:00
ed4649e85d
*: Support load data local ( #1634 )
2016-08-30 09:38:37 +08:00
e33587ed47
support explain ( #1632 )
2016-08-26 11:19:23 +08:00
b8730279d9
parser: fix set upper-case variable ( #1624 )
...
* parser: fix set upper-case variable
2016-08-23 15:06:40 +08:00
c90d91cba9
*: Support insert ignore ( #1579 )
...
Ignore duplicate key errors for insert ignore stmt, Fix #1570
2016-08-22 14:18:56 +08:00
3eb6f4f513
parser: remove the old lexer, clean up ( #1597 )
2016-08-18 14:29:45 +08:00
a3eac844ae
*: Support set names binary ( #1578 )
2016-08-15 22:25:23 +08:00
ac4b8c90b6
parser: fix a lex bug ( #1590 )
...
fix bug `numeric` recognised as numericType in new lexer
2016-08-15 16:59:09 +08:00
0a0abbb2e7
parser: use the new lexer as default ( #1566 )
2016-08-15 10:06:52 +08:00
dd654d9ed3
parser: peek neither byte nor a valid UTF8 rune bug fix ( #1580 )
2016-08-11 15:33:16 +08:00
09d23d225c
parser: refact scan string ( #1563 )
2016-08-10 19:10:34 +08:00
4c0e106152
*: goyacc generated code tiny change ( #1574 )
2016-08-10 10:32:10 +08:00
3545493808
parser: cache variable in parser to avoid allocation ( #1565 )
2016-08-08 23:17:44 +08:00
a5db620286
parser: rewrite lex ( #1514 )
...
introduce a handwriten lexer, which should be better in performance and support UTF8.
it's still not used as default one, a switch is provided by specifying -newlexer=true in tidb-server.
2016-08-06 16:29:21 +08:00
398eec015d
parser: move lexer's int/float/hex method to function ( #1529 )
...
the old lexer and the new lexer can both use those code
2016-08-01 18:44:54 +08:00
5cae3c3f90
more token values moved to yySymType's ident field ( #1526 )
2016-08-01 13:18:15 +08:00
470e7c245e
parser: add an indent field for yySymType ( #1516 )
...
current all kind of data store in item field,
from token to a AST field follow this patten:
identifier string -> interface{} -> string
translate to interface{} represention cause
unnecessay allocation. add an indent field
and store identifier as string would avoid that
2016-07-29 10:40:22 +08:00
4a4faccba3
Add builtin function hex ( #1504 )
2016-07-28 13:53:54 +08:00
8ad34f0ad9
parser: use yyLex.Error instead of (*lex).err ( #1492 )
2016-07-27 14:42:40 +08:00
b42dae814a
parser: move charset/collation/list fields to parser from lexer ( #1491 )
2016-07-27 11:20:31 +08:00
128af2e92a
parser: store sql string in parser and move offset related method ( #1493 )
2016-07-27 10:50:06 +08:00
c2831f6290
*: put goyacc tool into vendor ( #1499 )
2016-07-27 10:30:10 +08:00
04da3d2f8b
parser: add testcases for lexer ( #1503 )
2016-07-26 13:01:32 +08:00
5fee2ffd9b
parser: clean up unused code ( #1480 )
2016-07-25 15:21:45 +08:00
b33ab24109
*: Support set variable to default value. ( #1481 )
...
To set a SESSION variable to the GLOBAL value or a GLOBAL value to the compiled-in MySQL default value, use the DEFAULT keyword.
See http://dev.mysql.com/doc/refman/5.7/en/set-statement.html
2016-07-22 10:23:03 +08:00
1e6e1ca6f0
*: Support binlog stmt ( #1479 )
...
Parse and ingore it.
2016-07-21 13:39:15 +08:00
8749945b0c
*: add builtin function greatest ( #1463 )
2016-07-20 11:32:14 +08:00
537abcbd84
parser: Allow "no" as an identifier ( #1476 )
2016-07-20 10:46:31 +08:00
ebcf42b371
parser: add a benchmark test for Parse ( #1450 )
2016-07-18 11:18:25 +08:00
7654b6b5d5
*: Support sleep function ( #1457 )
...
* *: support sleep function
* evaluator: add SQL mode judgement
2016-07-16 13:48:45 +08:00
61cdf69d16
parser: Support show keys statement ( #1460 )
2016-07-16 13:46:16 +08:00
1cdb2cc18d
Fix bugs in string literal unescape ( #1432 )
...
Unescape string literal in lex scanner
2016-07-13 11:50:29 +08:00
d4f85c8138
Add get_lock() and key_column_usage table ( #1437 )
...
Parsed but ignored. This is used for Ruby's activerecord migrations.
2016-07-13 10:57:05 +08:00
cbac6da6ee
*: Remove SetCharsetStmt, use SetStmt instead ( #1422 )
...
"set @@session.sql_mode=1, names utf8, charset utf8;" is a valid sql statement.
2016-07-11 16:22:33 +08:00
0132246ff5
*: Support STATS_PERSISTENT option in CreateTableStmt ( #1416 )
...
Parsed but ignored. Just prevent error.
2016-07-09 11:41:27 +08:00
e234ab65a6
*: Support grant all privileges syntax ( #1417 )
...
Add missing syntax rule.
2016-07-09 08:10:55 +08:00
db4cdcfaec
parser: reduce memory allocation ( #1408 )
2016-07-07 16:42:30 +08:00
0450ba0b47
*: unify "See url" format ( #1391 )
...
* *: unify "See url" format
2016-07-05 11:21:10 +08:00
b1e863ef80
*: fix count(*) push down. ( #1363 )
2016-06-30 13:27:36 +08:00
234d0be5de
*: Support build range, support betweenExpr, inExpr and likeExpr convert to scalarFunc ( #1344 )
...
* *: support build range, support betweenExpr, inExpr and likeExpr convert
to scalarFunc
2016-06-27 20:30:16 +08:00
b3bd0dce4d
*: add builtin string function SPACE ( #1332 )
2016-06-21 15:45:26 +08:00
67378982bf
parser: add ANALYSE TABLE syntax ( #1323 )
2016-06-15 16:21:39 +08:00