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