Commit Graph

94 Commits

Author SHA1 Message Date
3742a0d602 *: Txn() function signature refactor and remove ActivePendingTxn() (#8327)
* change Txn() function signature to Txn(active bool)
* ActivePendingTxn() is not used any more because Txn() does the work
* change executor builder getStartTS() uint64 to getStartTS() (uint64, error)
2018-11-16 11:10:39 +08:00
736c3130e6 executor: fix update float panic (#8045) 2018-10-29 16:38:56 +08:00
5831de291d *: enable range typed table partition (#8011) 2018-10-26 20:04:07 +08:00
89dda9d9a8 *: move parser to a separate repository (#8036) 2018-10-25 11:12:10 +08:00
f3148da27f executor: add an variable to compatible with MySQL insert for OGG (#7863) 2018-10-17 10:19:04 +08:00
a8f2909d40 *: remove kv.BypassLatch option and enable latch scheduler by default (#7882)
kv.BypassLatch was introduced to handle the fake transaction confliction problem
in the old implementation. After redesign of the latch scheduler, it's not
needed any more.

Enable latch scheduler makes CI to run it, we can fix bugs and make this feature
more stable.
There is a small performance penalty, less than 5%, users are free to disable it.
2018-10-15 13:49:38 +08:00
d7a59ec5a3 executor: remove some useless code and avoid some redundancy check (#7639) 2018-10-12 12:56:02 +08:00
c19f8fba5c store/tikv,executor: redesign the latch scheduler (#7711)
Check maxCommitTS on each key, instead of each slot, so hash collision
will not lead to transaction retry.
2018-10-09 16:31:37 +08:00
af3b782231 planner: fix compatibility issue that update subquery table should be forbidden (#7783) 2018-09-26 18:59:55 +08:00
b2bfd8f91a executor: support load data with ignore lines (#7576) 2018-09-06 22:58:06 +08:00
720e8230e2 executor: only rebase auto increment ID when needed (#7515) 2018-08-31 14:24:32 +08:00
9070bb6b86 executer: fix the last_insert_id in insert on duplicate key update (#7534) 2018-08-30 14:16:30 +08:00
28fc781474 make load_data test clean (#7536) 2018-08-29 21:15:49 +08:00
1255973764 tables: make duplicate error in update clearer (#7495) 2018-08-28 15:34:39 +08:00
1dc41d8b79 add logs for replace and insert on dup (#7436) 2018-08-21 12:43:41 +08:00
233660af69 Revert "*: add a String method for Datum to make the log more friendly (#7426)" (#7435)
This reverts commit 7773b283907017ccf4835e22091c7a0508cf5383.
2018-08-20 15:17:17 +08:00
7773b28390 *: add a String method for Datum to make the log more friendly (#7426) 2018-08-20 14:09:26 +08:00
1558a9c096 executor: fix duplicate row check when chunk size is small (#7393) 2018-08-17 16:52:52 +08:00
bbec68304e executor,table: support replace operation for table partition (#7309) 2018-08-16 13:28:50 +08:00
7f286f5c12 types: add one more space to make json pretty (#7389) 2018-08-16 11:04:39 +08:00
9813c71498 *: support update operation for table partition (#7166) 2018-08-07 10:34:20 +08:00
130f53b316 *: partitioned table should not use PointGetPlan (#7261)
* *: partitioned table should not use PointGetPlan
2018-08-03 12:57:13 +08:00
5d96d56de7 plan: fix a bug when eliminating projection (#7257) 2018-08-03 00:01:43 +08:00
581edd4cac executor: set the correct handle in DirtyDB when executing update statements (#7209) 2018-08-01 11:36:22 +08:00
26b7a5e7d1 execuor, plan: check b.err in buildUpdate after doOptimize (#7204) 2018-07-31 19:22:00 +08:00
a816f7882a table,plan,executor: support delete operation for table partition (#7147) 2018-07-30 18:25:51 +08:00
b5f9b35a45 plan: refactor the code of building Insert. (#7068) 2018-07-25 22:41:42 +08:00
9cf670a324 *: cut off duration.fsp in chunk (#7043) 2018-07-17 15:36:27 +08:00
8db5811cb6 *: 'load data' should not use latches (#6927)
'load data' is not retryable when it meets conflicts, while latches may result in
false positive transaction conflicts. so enable latches will lead to 'load data'
abort abnormally, even there are no conflicts.
2018-07-02 11:53:12 +08:00
8c666359a5 executor: handle \N as NULL in load data statement (#6873) 2018-06-29 19:42:24 +08:00
753b295877 executor, types: fix bug of insert into unsigned float/double (#6939) 2018-06-29 14:48:16 +08:00
ab332eba2a executor: BadNullError should be ignored by insert ignore statement (#6465) 2018-06-29 13:15:31 +08:00
3c0bfc19b2 executor: improve performance for insert ignore on duplicate key update statement (#6760) 2018-06-19 20:28:06 +08:00
ce071f5dd3 refactor load data (#6665) 2018-05-29 21:19:14 +08:00
eaf82968c4 Executor: fix affected rows count when update (#6656) 2018-05-28 10:24:39 +08:00
d965658251 executor: fix a bug of duplicate key update (#6589) 2018-05-22 13:00:08 +08:00
2fe3581819 plan: resolve indices for apply schema (#6540) 2018-05-11 22:02:12 +08:00
b175f27a0a executor: set last insert id in the duplicated update statement (#6345) 2018-05-09 15:40:35 +08:00
3db7594fa5 *: Refine error message about "Out of range value for column" (#6334) 2018-05-09 15:00:52 +08:00
877d0d4d3d *: fix a bug occurred when insert into time column (#6451)
* *: fix a bug when insert decimal or decimal-like string into time col
2018-05-09 10:52:30 +08:00
0fda3b408f executor: move IgnoreErr to StmtCtx (#6392) 2018-05-02 17:10:59 +08:00
3513319106 support insert ignore on duplicate update (#6283) 2018-04-13 23:11:50 +08:00
3ecf6bd6c8 executor: fix insert on duplicate update (#6235) 2018-04-09 00:13:38 +08:00
fbae31e959 executor: optimization for insert on duplicate key update (#6194) 2018-04-08 15:12:21 +08:00
6ff44c7878 kv: merge batch get results to fix insert ignore in a transaction block (#6215) 2018-04-04 13:35:54 +08:00
5309efe748 executor: make the message of ErrDataTooLong consistent with MySQL (#6166) 2018-03-29 11:27:16 +08:00
a46480c830 *: export implicit rowid and use it in CRUD (#5984) 2018-03-15 16:35:58 +08:00
096562ee8a executor: fix bug in insert (#5968) 2018-03-07 16:29:48 +08:00
12c87929b8 *:fix some golint && ineffassign && misspell to improve GoReport Result (#5867) 2018-02-23 19:31:05 +08:00
4e1a114e68 *: move package context to sessionctx (#5890) 2018-02-22 18:03:38 +08:00