Commit Graph

80 Commits

Author SHA1 Message Date
c99b1c821a executor: fix hash join sqllogic test block (#8374) 2018-11-21 13:01:48 +08:00
c5bd5b6b84 executor: make sure hashjoin's goroutine exit before Close return (#8338) 2018-11-20 11:49:42 +08:00
d6796b3637 executor, cmd: refine HashJoinExec for specific JoinType if outer/inner is nil (#8296) 2018-11-14 18:03:36 +08:00
32b1dbd8d5 *: rename "github.com/pkg/errors" to "github.com/pingcap/errors" (#8136)
We import "github.com/pkg/errors" in the code, and actually put
the "github.com/pingcap/errors" there in the vendor path.
That's a dirty hack, and prevent the introduce of Go module.
2018-11-01 16:09:07 +08:00
89dda9d9a8 *: move parser to a separate repository (#8036) 2018-10-25 11:12:10 +08:00
458c0d1c27 executor: refine explain analyze (#7888) 2018-10-16 20:02:43 +08:00
d21f294393 *: make explain support explain anaylze (#7827) 2018-10-12 20:01:19 +08:00
75d6a3ee9e executor, sessionctx: calculate radix bit number before building hash table (#7816) 2018-10-09 13:48:11 +08:00
05b37de16e *: use chunk grow for simple executor (#7540) 2018-09-27 09:07:51 +08:00
e79bd946ed *: change package name from plan to planner (#7760) 2018-09-25 11:16:39 +08:00
cc09ecab22 util: add WithRecovery util method (#7666) 2018-09-20 20:21:02 +08:00
cb03f2bec1 move from juju/errors to pkg/errors (#7151) 2018-09-12 15:42:20 +08:00
ac8a61ea68 executor: parallel read inner table and build hash table. (#7544) 2018-09-04 15:24:37 +08:00
5823fb5169 executor: break innerTable fetcher is error happend during fetching outer table (#7554) 2018-08-30 20:31:37 +08:00
cf5e392b24 executor: change joinResultGenerator to joiner (#7323) 2018-08-13 19:03:58 +08:00
b39b5f579f executor: refactor joinResultGenerator to handle the unmatched outer records (#7288) 2018-08-08 15:16:24 +08:00
7a08c62433 executor: start hash join inner/outer workers together (#6856) 2018-06-20 22:58:52 +08:00
7d32a7e847 executor: remove unused field (#6232) 2018-04-08 21:09:47 +08:00
ccf6da1a46 *: rename NextChunk to Next (#6214) 2018-04-03 20:00:30 +08:00
17fb7d7872 executor: remove joinResultGenerator.emit and rename emitToChunk to emit (#6216) 2018-04-03 19:42:02 +08:00
83066fc954 executor: track memory usage for nested loop apply (#6171) 2018-04-02 13:54:12 +08:00
936d7b7d29 executor, memory: detach from parent when executor is closed (#6148) 2018-03-28 15:52:34 +08:00
eacca19bde executor: remove Next function for NestedLoopApplyExec (#6027) 2018-03-20 10:44:07 +08:00
025ff38edf executor: log the function stack when recovering from a panic (#6010) 2018-03-12 09:50:34 +08:00
4a52a6ae58 executor: remove Next for HashJoinExec (#5991) 2018-03-09 21:19:24 +08:00
50e98f427e config: add validation for configuration (#5864) 2018-03-06 14:56:28 +08:00
ad814b0d6c executor, util: employ memory Tracker to track memory usage during query execution (#5826) 2018-03-06 11:02:09 +08:00
07f1bac316 executor: add recover mechanism for join workers (#5894) 2018-02-24 19:12:17 +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
12c87929b8 *:fix some golint && ineffassign && misspell to improve GoReport Result (#5867) 2018-02-23 19:31:05 +08:00
5d91dbd5a1 executor: pass operator label from Plan to Executor (#5821) 2018-02-08 13:33:11 +08:00
2a2e8c4775 executor: join don't need any inner filter. (#5767) 2018-02-01 19:48:18 +08:00
d95f96505a *: refine join result generator to return MaxChunkSize chunk (#5715) 2018-01-31 20:00:59 +08:00
888bc2a602 *: uniform the way to iterate rows within a Chunk (#5674) 2018-01-22 11:34:04 +08:00
c5c0714cde executor, sessionctx, util: log a warning when memory usage of HashJoinExec exceed threshhold (#5658) 2018-01-18 11:14:25 +08:00
8f1f0af39d executor: close the children of HashJoinExec and UnionExec after close goroutine finish (#5669) 2018-01-17 23:09:25 +08:00
9f2ff293dd *: make MVMap.Get() be able to reuse the value buffer pre-allocated (#5644) 2018-01-16 15:15:25 +08:00
3ce567630b executor: store column's fieldType in executor (#5619) 2018-01-12 16:57:31 +08:00
4dd1fc208d codec, expression: support encoding a Chunk row (#5578) 2018-01-11 20:29:31 +08:00
20f85865f0 executor: close hashjoin goroutines as soon as possible to avoid unexpected error (#5620) 2018-01-11 16:22:44 +08:00
f4fa60d306 executor, expression: support chunk for HashJoinExec (#5439) 2018-01-10 22:06:58 +08:00
ecbd60c3ff *: add arguement StatementContext to Encode functions. (#5566) 2018-01-06 17:31:08 +08:00
b543bcc7df executor: joinGenerator use chunk.Iterator (#5500)
So NestedLoopApply can use *chunk.List to generate results and reuse the memory.
2017-12-26 18:47:29 +08:00
ccc10a56a6 executor: support Chunk for NestedLoopApply (#5475) 2017-12-26 13:37:19 +08:00
a386528393 executor: merge ApplyExec and NestedLoopJoin into NestedLoopApply. (#5471)
NestedLoopJoin is only used in ApplyJoinExec and ApplyJoinExec only has NestedLoopJoin.
Merge them into one simplifies the logic.
2017-12-22 13:44:43 +08:00
2c6d1cf8fa plan,executor: remove HashSemiJoin (#5467)
HashSemiJoin is only used in Apply, it exists only because NestedLoopJoin doesn't support SemiJoin type.
This PR support SemiJoin type in NestedLoopJoin executor, so HashSemiJoin can be removed.
2017-12-22 12:25:42 +08:00
581002b8f7 plan, executor: only set DefaultValues in agg push down. (#5383) 2017-12-12 21:31:58 +08:00
8825d9b998 executor: support Chunk for joinResultGenerator (#5357) 2017-12-12 13:29:51 +08:00
be60bcfbc3 executor: avoid double closing child in "NestedLoopJoinExec" && "HashSemiJoinExec" (#5329) 2017-12-06 23:22:52 +08:00
fb610e6429 *: change executor Next() interface to Next(goctx.Context) (#5223) 2017-11-26 21:17:33 -06:00