Commit Graph

142 Commits

Author SHA1 Message Date
a168f413ba executor: reduce memory usage and GC overhead for hash join. (#2957)
Implemented and use MVMap to reduce GC overhead and memory usage for hash join.
2017-03-30 23:04:02 +08:00
e068663cdc Auto split insert data into multiple batches. (#2958)
Add a sysvar to enable batch insert data and disable batch insert in transaction.
2017-03-30 14:57:55 +08:00
0e172acd8e Add a controller in Selection to control the conditions of the below scan plan. (#2834)
Prepare for IndexLookupJoin.
2017-03-28 09:58:49 +08:00
7739d97697 Sort Merge Join (#2850)
parser/plan/executor: Added Merge Join operator with Hints
2017-03-22 21:42:16 +08:00
af3fb807ed server: stop listener on critical error. (#2854) 2017-03-17 18:54:51 +08:00
a408b86269 *: support in subquery unfolding (#2816) 2017-03-16 14:26:34 +08:00
51fce6fd51 plan: fix bug about column prunning. (#2796) 2017-03-09 15:40:16 +08:00
7520cb8972 fix issue2300 (#2605) 2017-02-08 19:48:51 +08:00
7965666bce executor: ajust some code. (#2574) 2017-01-30 09:45:50 +08:00
e68dcf77dc *: remove ctx from function args. (#2566) 2017-01-28 18:44:02 +08:00
fb429408c9 *: make schema as a pointer. (#2533) 2017-01-23 16:23:47 +08:00
f145a32063 *: refactor apply plan and executor. (#2411) 2017-01-22 11:06:17 +08:00
6ae4b77d7f plan, executor: clean code (#2520) 2017-01-22 10:18:10 +08:00
ba8b6a9c26 fix bug of union type converting (#2471) 2017-01-16 12:09:27 +08:00
36e9570051 *: concurrently begin a transaction and compile (#2393) 2017-01-05 15:00:43 +08:00
e38c67e086 executor: implements nested loop join. (#2365) 2017-01-03 19:53:03 +08:00
0b4a8f652d executor: move some exec out of executor.go (#2363) 2016-12-31 23:21:46 +08:00
31d58b69ed executor: consider uint = int in join condition. (#2355) 2016-12-30 19:00:49 +08:00
5f96f67cbc *: change schema from []*Column to struct (#2321) 2016-12-27 14:02:19 +08:00
64484a4257 *: refactor context.Context (#2298)
Make transaction life cycle under control, prepare for correctly handle schema out of date error.
The old `GetTxn(forceNew boll)` is replaced by `Txn` and `NewTxn`,
`CommitTxn` and `RollbackTxn` is removed.
2016-12-23 13:02:41 +08:00
0adabe53a1 *: begin a transaction in PrepareTxnCtx, unify in transaction. (#2290)
Transaction should has the same life cycle as TxnCtx, so create a
new transaction in PrepareTxnCtx if transaction is nil or invalid.
2016-12-21 16:48:19 +08:00
c24c90b4d3 tidb, variable: refactor retry, add TransactionContext (#2256) 2016-12-16 11:07:59 +08:00
d406c77c1f Revert "tidb, variable: refactor retry, add TransactionContext" (#2255) 2016-12-15 10:42:04 +08:00
ff0ceb1785 tidb, variable: refactor retry, add TransactionContext (#2254) 2016-12-15 10:35:57 +08:00
292e58c2aa *: make union execution parallel and fix a union plan bug. (#2195) 2016-12-08 22:45:49 +08:00
fb6ae5acd3 executor: fix a problem that may cause system hang. (#2163) 2016-12-05 10:23:26 +08:00
74a1c9935d *: add StatementContext argument to functions. (#2157)
Add StatementContext argument to more functions where it is needed.
2016-12-02 23:28:11 +08:00
fa4bdc766d executor: support the statement of 'set password ... ' and fix issue 2153 (#2155) 2016-12-02 18:34:20 +08:00
bb203afad4 executor: fix data race (#2134) 2016-11-30 11:54:05 +08:00
9311ce64fd executor: fix a bug when join exists in subquery. (#2106)
* executor: fix a bug when join exists in subquery.
2016-11-30 10:40:22 +08:00
5230f5eabd variable: define StatementContext. (#2121)
StatementContext is used to hold statement execution mode and state.
As every computation need this, there are many API changes.
2016-11-29 14:25:38 +08:00
79a8c3fc8d plan: add a Cache plan in physical plan (#2052)
plan: add Cache plan

* format code

* tiny change

* optimize the logic of code

* rename some variable and optimize logic

* move e.cursor++ down
2016-11-23 15:53:44 +08:00
0af8520a78 sessionctx/variable: remove dependency on context package. (#2064)
Makes using session variable easier and faster.
Prepare for use session variable to handle data truncated error.
2016-11-23 14:39:48 +08:00
af5b0e71fc infoschema: implement infoschema table. (#2034)
Creates a information schema specific table that implements table.Table interface.
The rows in this table is generated by `[]*model.DBInfo` on request.

Further reduce memory allocation.
2016-11-21 19:47:41 +08:00
6dc49a736c executor: remove filter exec. (#2037) 2016-11-20 13:48:46 +08:00
fdb74960a4 add a new expression type: Correlated Column. (#1973) 2016-11-17 12:42:12 +08:00
421ceeb8fa *: make golint happy. 2016-11-15 11:12:24 +08:00
cbf024e8f7 *: clean code. (#1987) 2016-11-10 15:38:22 +08:00
e17644716d refactor show clause. (#1940) 2016-11-10 11:14:37 +08:00
76f420595b *:support aggregate function push cross outer join. (#1899) 2016-11-01 17:59:12 +08:00
1550e76e6c executor: add comments in executor package. (#1876)
* executor: add comments in executor package.
2016-10-31 10:51:17 +08:00
ba4d6bae37 *: support drop user. (#1854) 2016-10-24 21:01:02 +08:00
9f615fc5dc table: change Column type to alias of ColumnInfo (#1855)
So we can use a ColumnInfo directly, without coping, reduce memory usage.
2016-10-20 21:48:08 +08:00
3d670c47b0 executor,table: remove LockKeys and Truncate method in Table interface. (#1833)
Those two method should not be defiend in Table, LockKeys should be implemented
In SelectLock executor, Truncate has changed to use DDL operation.
2016-10-18 00:35:45 +08:00
f86a32d261 ddl: write DDL binlog. (#1752)
Pass query string in context, also disallows prepare DDL, so we can be sure that
DDL query do not contains parameter marker.

change binlog row encoding format.

including columnID in binlog row, so it can be adapted to different schema version.

prepend old row for update binlog when don't have PK.
2016-10-08 11:48:58 +08:00
2456804b25 remove useless code. (#1745) 2016-09-20 21:42:57 +08:00
b8994bb139 *: Support stream aggregation. (#1735)
* *: Support stream aggregation.
2016-09-20 17:14:31 +08:00
648bee53b2 add stream agg executor. (#1730) 2016-09-18 12:49:57 +08:00
4d22f97013 support heap sort in sql layer. (#1697) 2016-09-08 12:57:03 +08:00
f2d8b3c108 remove New*** from variable name. (#1644) 2016-08-29 10:18:45 +08:00