Commit Graph

341 Commits

Author SHA1 Message Date
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
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
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
c90d91cba9 *: Support insert ignore (#1579)
Ignore duplicate key errors for insert ignore stmt, Fix #1570
2016-08-22 14:18:56 +08:00
a3eac844ae *: Support set names binary (#1578) 2016-08-15 22:25:23 +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
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
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
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
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
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
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
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
d9569a6801 *: Support date_format (#1295)
* *: support date_format

* evaluator: update yearweek function
2016-06-06 18:49:06 +08:00
0373895334 *: Support time (#1282)
* *: support time
2016-06-02 10:48:09 +08:00
61532d7c4e *: Support monthname (#1279)
* *: support monthname
2016-06-01 14:02:53 +08:00
a58a8fc365 parser: appending item to list instead of appending list to item. (#1276)
* parser:  appending item to list instead of appending list to item.

Reduce memory allocation.

* parser: apply the same optimization for 'ROW'.

* *: add test
2016-05-31 20:05:16 +08:00
86fe54dadc *: Fix issue 1118 (#1259)
* *: fix issue 1118
2016-05-26 12:49:43 +08:00
55ed68ca6c add builtin-reverse func (#1224) 2016-05-13 20:53:55 +08:00
2e355f3749 *: Fix issue#1114 (#1231)
* *: supprot assignment

* *: fix issue 1114
2016-05-13 11:26:26 +08:00
24503eb791 parser: support parse "ALTER TABLE DISABLE KEYS" (#1211)
* parser: support parse "ALTER TABLE DISABLE KEYS"

This statement is used in `mysqldump`.

* parser: address comment
2016-05-09 14:39:31 +08:00
0841dbef9b *: Support builtin function round(X), round(X, D) (#1208)
Support builtin function round(X), round(X, D)
2016-05-07 13:38:02 +08:00
8a15d2102b parser: Add "action" into UnReservedKeyword (#1205)
Fix zabbix login error
2016-05-06 12:11:46 +08:00
887f819a41 *: Support Mod(N, M) (#1194)
*: Support Mod(N, M)

Fix: https://github.com/pingcap/tidb/issues/1193
2016-05-04 10:26:22 +08:00
e742def024 add foreign key on update and on delete support (#1152)
* add foreign key on update and on delete support
2016-04-27 19:44:00 +08:00
b2f1cfe9a7 parser: fix typo. (#1172) 2016-04-27 01:30:00 -05:00
3671f3958f xapi: support IN expression push down. (#1147)
* xapi: support IN expression push down.
2016-04-25 19:50:33 +08:00
4ced2f7e10 *: implement some other builtin functions (#1137)
Support ISNULL(), LTRIM(), RTRIM(), LCASE() and UCASE().
Add alias for LOWER() and UPPER().
2016-04-23 21:04:26 +08:00
661339c90c parser: Support truncate t (#1136)
* parser: support truncate t
2016-04-21 18:05:50 +08:00
ff05329a05 parser: support index hint syntax. (#1113) 2016-04-19 18:42:44 +08:00
8c164bc078 evaluator,parser: support ASCII(). (#309) (#1083)
* evaluator: add a builtin function wanted by #310.

* parser: update parser for ASCII().
2016-04-14 01:53:50 -05:00