Commit Graph

745 Commits

Author SHA1 Message Date
b780d6afef plan: flatten row op row (op = GE, GT, LE, LT) in expression_rewriter (#3528) 2017-06-29 13:55:21 +08:00
b5e6c0291a plan, executor: fix multi-update. (#3531)
* plan, executor: make multi-update be compatible with MySQL.
2017-06-28 13:53:06 +08:00
88189ab961 executor, expression: refine substr handle null (#3555) 2017-06-27 22:12:13 +08:00
8aa1a632ea expression, executor: rewrite the builtin func ascii using new methods (#3537) 2017-06-27 14:47:48 +08:00
11a1767e71 *: Get ddl owner ID (#3525) 2017-06-27 11:24:50 +08:00
77c7e0037a tidb: add some privilege columns to mysql.db (#3532)
* tidb: add some privilege columns to mysql.db

Create_tmp_table_priv
Lock_tables_priv
Create_view_priv
Show_view_priv
Create_routine_priv
Alter_routine_priv
Execute_priv
Event_priv
Trigger_priv
2017-06-27 10:18:11 +08:00
2b4a3ce5e6 parser: parse "select HIGH_PRIORITY ..." statement (#3466) 2017-06-26 17:19:10 +08:00
4db09e0940 expression, executor: rewrite built-in func makeDate using new expression evaluation architecture (#3533) 2017-06-23 15:52:36 +08:00
f331160eb9 expression, executor: rewrite built-in func length using new expression evaluation architecture (#3519) 2017-06-22 15:56:22 +08:00
eac2769606 *: change the format of aggregation's result (#3483) 2017-06-21 18:19:03 +08:00
0e0e48e6a6 executor, util: fix invalid time format "YY-MM-DD HH:MM"(#3509) (#3511) 2017-06-20 15:40:35 +08:00
379914a5af *: fix timestamp column data and index inconsistent involving timezone (#3497) 2017-06-20 15:22:50 +08:00
913037ebb9 tablecodec,mysql, util: mysql TypeDuration Fsp (#3499)
Fixed RoundError issue #3471
Bug Cause:
1. when deserialize mysqlDuration, the Fsp is setted with 0 instead of the Fsp from column information.
2. the default decimal for column with TypeDuration is 0.
2017-06-20 11:10:40 +08:00
4b4378fdd4 fix some typo and continue refactor variable name topn (#3505) 2017-06-19 18:31:12 +08:00
c15265e95b *: rewrite concat using new expression evaluation architecture (#3479) 2017-06-19 15:40:16 +08:00
9c3ac28541 sessionctx/variable: store a copy of timezone in StatementContext (#3495)
There are many place need access to timezone, they come with a StatementContext argument.
So put a copy of timezone into StatementContext to achieve the goal with minimal changes.
2017-06-16 18:33:13 +08:00
cb9bf47dfc executor: turn on new expr evaluation for testSuite (#3475) 2017-06-15 15:27:40 +08:00
3b9e5de9a5 *: Remove the useless code about DDL owner info (#3472)
* *: remove useless code about the ddl owner
2017-06-15 12:32:27 +08:00
0343dac8e7 plan: forbidden modify generated column by insert/update. (#3434) 2017-06-14 16:08:14 +08:00
7c9e18621f *: add some privilege columns to mysql.user (#3445)
Create_tmp_table_priv
Lock_tables_priv
Create_view_priv
Show_view_priv
Create_routine_priv
Alter_routine_priv
Event_priv
2017-06-13 21:11:43 +08:00
9575deeb10 ddl: add more features about generated column. (#3431)
DESC table_with_generated_column;
SHOW CREATE TABLE table_with_generated_column;
If generated expression in DDL references bad column, throw error;
If alter table change/drop column dependent by other columns, throw error;
if alter table change/modify generated columns, throw error if needs.
2017-06-13 18:53:58 +08:00
1ccc71a94a statistics, ranger: add method to calculate the range and row count of non pk column (#3234) 2017-06-13 12:01:05 +08:00
4bc3cf7a48 *: support using clause in join statement. (#3372) 2017-06-12 17:14:13 +08:00
233513ec5f executor: set statsLease to 0 (#3435) 2017-06-09 10:13:42 +08:00
72981fdbbd DDL: add two limits for JSON column: used as key and not null default value. (#3401) 2017-06-08 13:52:12 +08:00
eb2b32ee86 executor: validate snapshot TS (#3416) 2017-06-08 13:33:12 +08:00
a623135bae *: add cast(value as JSON) support. (#3395) 2017-06-07 19:58:27 +08:00
1c5ad420d3 executor: avoid allocating a lot of memory at first in topn. (#3392) 2017-06-07 19:13:24 +08:00
7ae996c411 Set stats lease. (#3408) 2017-06-07 18:19:52 +08:00
7d634a5486 *: fix a data race in privilege handle Update() (#3389)
privilege handle bind a ctx to call Update(), but it may be
called by multiple goroutines, so data race in that ctx.

change Update() to take a context parameter, avoid using the
same ctx to fix the race.
2017-06-07 11:30:11 +08:00
e1debd4505 executor: analyze executor construct new distsql exec. (#3410) 2017-06-07 11:10:25 +08:00
78319c7530 *: reset statement context for prepared statements (#3413) 2017-06-07 10:06:32 +08:00
757953632b store/tikv: write read-only select for update locks (#3402) 2017-06-06 01:29:33 -05:00
7b6e4475b3 variable: add a varaible to read current timestamp (#3400) 2017-06-06 07:27:30 +08:00
cae65ff127 executor, util: fix gorm-test when cast a value to varbinary(N) (#3379) 2017-06-04 21:18:47 +08:00
62450b9024 Use etcd to speed up DDL process
Add the mock owner-manager and schema-syncer and enable using etcd to speed up DDL process by default.
2017-06-04 10:00:41 +08:00
1183792524 executor: stop fetch handles after closing. (#3365) 2017-06-01 15:50:51 +08:00
f83bdd0aaf *: fix 3235 (#3358) 2017-05-31 23:27:47 +08:00
77b87ed170 variable: remove GoSQLDriverTest (#3361) 2017-05-31 11:43:38 +08:00
9b6fc032fc *: add References_priv to mysql.user (#3343) 2017-05-26 17:58:32 +08:00
a81726a42f executor, statistics: analyze with null count. (#3336) 2017-05-26 16:44:09 +08:00
6962814a29 add json_type function and compare json with primitive types. (#3307) 2017-05-24 15:21:40 +08:00
3c7df1c302 executor, plan: support batch index look up join. (#3306) 2017-05-23 23:12:19 +08:00
d2557fe49a executor: open doubleread close test and fix bug. (#3316) 2017-05-23 16:27:28 +08:00
b3c43e52ca *: retry commit for prepared statement when schema change (#3297) 2017-05-21 10:42:10 +08:00
26ee3cc2e5 executor: fix data race. (#3284) 2017-05-17 19:27:20 +08:00
1e4bf4775c document store: add JSON type and codec. (#3248)
Document store: add JSON type and codec.

The JSON binary representation is same with MySQL 5.7. we prefer
this not bson because 1) bson only supports JSON compound types
but not JSON primitive types, and 2) this representation is better
than bson on random access.

This PR now can support these  statements:
```
CREATE TABLE t (a json_field);
INSERT INTO t (a) values ('{"a": "b"}');
SELECT * FROM t;
```

JSON codec uses MySQL 5.7 compatible format, which doesn't support use JSON field as key or index. We will limit this in tidb later.
2017-05-17 12:00:34 +08:00
e7257d0e9d plan, executor: open the new plan switch for all test. (#3274) 2017-05-16 20:40:12 +08:00
345b30b929 executor: update an error code (#3276) 2017-05-16 18:07:49 +08:00
69a55ad845 *: refactor a function name (#3263) 2017-05-16 14:43:03 +08:00