Commit Graph

363 Commits

Author SHA1 Message Date
b200cef223 support function rpad (#2270) 2016-12-19 16:36:41 +08:00
8eb2bbd37d parser, evaluator: support mysql builtin functions ln(), log(), log2(), log10() (#2258) 2016-12-16 08:52:51 +08:00
893a157301 *: support builtin function timediff (#2249) 2016-12-15 19:04:20 +08:00
aca4151716 parser: fix parse explain union statement error (#2216) 2016-12-09 20:45:48 +08:00
196b6b18fe *: Support for changing column (#2174)
*: support for changing column in parser
* ddl: support for changing column in ddl
2016-12-07 11:19:37 +08:00
f42d3b2bcc *: Support the statement of "alter user" (#2144) 2016-12-03 14:01:38 +08:00
3a721da8fc *: fix cast decimal allocates large memory. (#2146)
If precision is too large, encode decimal allocates large amount of memory.
This commit set cast decimal unspecified length to default decimal length (10),
also add check on precision and frac on `MyDecimal.ToBin`.
2016-12-01 17:37:10 +08:00
1bca024601 parser: parse more PARTITION option (#2133) 2016-12-01 00:24:20 +08:00
36a16d3ee8 parser: handle PARTITION keyword generated by mydumper (#2115)
* parser: parse PARTITION keyword generated by mydumper
2016-11-29 11:29:04 +08:00
3c349259e4 *: basic support for builtin function STR_TO_DATE (#2078) 2016-11-28 14:17:32 +08:00
36f0f307a8 parser: support show events (#2099)
* parser: support show events
2016-11-27 22:49:49 +08:00
91050ff1f8 parser: parse decimal literal instead of float literal (#2044)
Improves MySQL compatibility.
2016-11-21 19:29:25 +08:00
81a3ba602a parser: support select t.ReservedKeyword from t; (#2039)
For example "select t.desc from t;"
2016-11-20 22:44:13 +08:00
2f47f24b22 parser: database.ReservedKeyword as identifier & clean up (#2027)
1. fix a bug test.desc can't be used as identifier, which is valid in mysql
2. introduce ReservedKeyword in parser.y and clean up
3. fix mysql client "use `select`;" can't work
4. refine lexer's special comment mode pos line/offset
2016-11-19 14:22:10 +08:00
2543f4b17c parser: handle scan identifier meets \0 (#1994)
this is a vague corner case
it should be illegal according to mysql document
but mysql implementation seems accept it
so we follow implementation
trim \0 in conn packet, report error when parser meet \0
2016-11-12 09:30:12 +08:00
1056c56df1 ddl: support modify column (#1930)
* ddl: support modify column
2016-11-08 15:20:41 +08:00
1eecf8e718 parser: support drop view if exists (#1969)
mydumper executes this statement before create a table,
since we don't support view, we can simply return success.
2016-11-07 19:56:03 +08:00
85c0954dc2 support builtin function from_unixtime (#1929) 2016-11-04 13:15:55 +08:00
5ee84a7a9a *: support show create db (#1911) 2016-11-01 13:11:18 +08:00
a6144ad1e1 *: Support Show processlist (#1907) 2016-10-31 18:23:00 +08:00
04b97b68ba parser: Support show index in tbl (#1873)
Support show index/indexes in tbl.
Fix: https://github.com/pingcap/tidb/issues/1849
2016-10-26 14:22:28 +08:00
ba4d6bae37 *: support drop user. (#1854) 2016-10-24 21:01:02 +08:00
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