Commit Graph

105 Commits

Author SHA1 Message Date
bdbaeb419d executor: decrease the memory usage of hashTable in HashJoinExec (#11832) 2019-08-29 14:45:52 +08:00
79d43a56ed planner: fix uncorrect behavior of index join (#11724) 2019-08-16 15:04:46 +08:00
a530f87db7 planner: add aggregation hints TIDB_HASHAGG and TIDB_STREAMAGG (#11364) 2019-08-07 10:51:34 +08:00
f13f7bbdbd ranger: BuildColumnRange should merge ranges when column has prefix len (#11563) 2019-08-01 16:24:36 +08:00
d244723a5e executor: remove unused structure RecordBatch (#10891) 2019-06-26 15:26:16 +08:00
7f27f7daba planner, executor: set new child after injecting Project operator (#9684) 2019-03-13 14:19:32 +08:00
5a283a98dd plan/executor: make semi joins null and empty aware (#9051) 2019-02-25 15:42:38 +08:00
09a5c8028e plan: derive col is not null from col op col conditions (#8603)
Check whether the `op` condition is null rejected, if yes, derive
`col is not null` for both sides of inner join, and for inner side
of outer join.

Also, remove duplicate conditions before pushing them down. Check
if the condition is mutable before removing duplicates.

For AntiSemiJoin, AntiLeftOuterSemiJoin and LeftOuterSemiJoin, do
not generate new `is not null` conditions.
2019-01-30 10:53:46 +08:00
00c4ff4fa9 *: refactor Executor.Next() to receive RecordBatch (#8994) 2019-01-14 15:04:36 +08:00
a9de2093e5 util/codec, types: add new method to get comparable hash key from MyDecimal (#8930) 2019-01-11 11:01:15 +08:00
084aa5a030 config: add initChunkSize config item, make chunk start with 32 (#8480) 2019-01-07 11:14:47 +08:00
93e91b6a37 executor/test: fix data race of executor unit tests (#8807) 2018-12-27 11:28:55 +08:00
98b96cc769 executor: speedup unit tests by spliting them into separate suites (#8618) 2018-12-24 21:37:12 +08:00
c137cada68 *: change golang.org/x/net/context to standard context (#8579) 2018-12-05 13:54:00 +08:00
4bcdb6d8ee executor: do not build range for NullOuterVal in IndexLookUpJoin (#8505) 2018-11-29 14:15:23 +08:00
d6796b3637 executor, cmd: refine HashJoinExec for specific JoinType if outer/inner is nil (#8296) 2018-11-14 18:03:36 +08:00
679d2e559c planner/core: make TIDB_INLJ to specify the inner table (#8243) 2018-11-13 11:55:30 +08:00
696ef7bae2 plan: convert in subquery to agg and inner join (#7531) 2018-10-30 19:19:32 +08:00
6064d6482f plan: propagate constant over outer join (#7794)
- extract `outerCol = const` from join conditions and filter conditions,
  substitute `outerCol` in join conditions with `const`;
- extract `outerCol = innerCol` from join conditions, derive new join
  conditions based on this column equal condition and `outerCol` related
  expressions in join conditions and filter conditions;
2018-10-16 14:54:09 +08:00
e79bd946ed *: change package name from plan to planner (#7760) 2018-09-25 11:16:39 +08:00
7f6babb2b4 plan: fix mistaken conversion from outer join to inner join (#7689)
exclude upper level join conditions from predicates when simplifying
embedded outer join
2018-09-17 13:39:15 +08:00
b39b5f579f executor: refactor joinResultGenerator to handle the unmatched outer records (#7288) 2018-08-08 15:16:24 +08:00
7e48ab1284 executor: skip inner rows when the join keys contains NULL (#7255) 2018-08-06 02:59:23 +08:00
1bf3f3d407 ranger: refine explain format, again (#7041) 2018-07-17 16:47:44 +08:00
372a6fc921 plan: refine explain result format (#7011) 2018-07-09 13:55:36 +08:00
dd37138dc0 *: support parallel hash agg (#6658) 2018-06-29 22:59:47 +08:00
a7819c3385 plan: draw relation bewteen operators with indent (#6894) 2018-06-28 13:28:43 +08:00
69fdc8d610 plan: fix a bug in predicate push down phase. (#6809)
* plan: fix a bug in `predicate push down` phase.
2018-06-12 10:26:26 +08:00
1082b1a0f3 plan: refine the result of EXPLAIN statement (#6755) 2018-06-07 20:13:16 +08:00
b8539dc62a plan, executor: fix the wrong result of merge join (#6753) 2018-06-05 13:23:52 +08:00
0969cd5349 plan: Fix the empty result of join (#6669)
* plan: make "Position" starts from 0
2018-05-29 16:29:47 +08:00
c0dea7e936 *: move leak check from each test to suite (#6541) 2018-05-15 20:05:03 +08:00
f890b85915 plan: always clone Expression when set it to plan. (#6263) 2018-04-13 14:30:08 +08:00
e2b033d1c0 *: add a tidb system variable tidb_hash_join_concurrency (#6244) 2018-04-12 20:28:19 +08:00
582e33a0e4 *: use tidb_index_lookup_join_currency to control the number of IndexLookupJoin inner workers (#6240) 2018-04-10 10:05:00 +08:00
ccf6da1a46 *: rename NextChunk to Next (#6214) 2018-04-03 20:00:30 +08:00
f287451eed tidb: move tidb/*.go to session directory (#6062)
This change makes our top level directory clean.
2018-03-20 09:06:11 -05:00
67c948b609 executor: refactor merge join (#6078) 2018-03-20 12:37:40 +08:00
bc1611a8ac executor: Change makeJoinRowToChunk to account for virtual rows (#6049) 2018-03-16 13:27:47 +08:00
631141b22c *: remove Next function for RecordSet (#6040) 2018-03-13 21:05:10 +08:00
b4ed212966 plan: fix a bug when do column substitution for join. (#6041) 2018-03-13 16:13:49 +08:00
a3bf058304 *: 1. remove EnableChunk 2. implement Next in baseExecutor to return nil (#5988) 2018-03-09 17:40:11 +08:00
45f333b33f executor:improve test coverage (#5836) 2018-02-26 16:41:54 +08:00
e1121814d2 *: don't import golang.org/x/net/context as goctx alias (#5895)
Now that there is no conflict with sessionctx.Context, this can be
import directly
2018-02-24 03:40:56 -06:00
bafe5697d6 executor: pass goCtx when initialize UnionExec (#5870) 2018-02-11 22:16:34 +08:00
d95f96505a *: refine join result generator to return MaxChunkSize chunk (#5715) 2018-01-31 20:00:59 +08:00
20f85865f0 executor: close hashjoin goroutines as soon as possible to avoid unexpected error (#5620) 2018-01-11 16:22:44 +08:00
6608dbdc2f executor: fix a bug of NewIndexLookUpJoin's Next(). (#5455) 2017-12-20 20:57:12 +08:00
581002b8f7 plan, executor: only set DefaultValues in agg push down. (#5383) 2017-12-12 21:31:58 +08:00
2edc8dcfab executor: fix a bug when apply meets index join (#5381) 2017-12-12 20:25:27 +08:00