Commit Graph

102 Commits

Author SHA1 Message Date
304619a184 executor: fix execution info of explain analyze (#11967) 2019-09-02 16:45:35 +08:00
bdbaeb419d executor: decrease the memory usage of hashTable in HashJoinExec (#11832) 2019-08-29 14:45:52 +08:00
db6c36c75f executor: fix data race in (*HashJoinExec).Close() since fetchInnerAndBuildHashTable is still running 2019-08-15 15:21:09 +08:00
6d51ad33fd *: Optimize struct memory usage by adjust field order (#11629) 2019-08-13 17:20:53 +08:00
cffd04518c executor: no need to wait for fetchInnerRows if buildHashTableForList fails, and clean code (#11571) 2019-08-02 17:07:43 +08:00
1ad073bf80 executor: show operators' memory consumption in results of EXPLAIN ANALYZE (#11334) 2019-07-24 10:53:02 +08:00
d244723a5e executor: remove unused structure RecordBatch (#10891) 2019-06-26 15:26:16 +08:00
c5a157a883 *: revert all of the radix-join-related commits (#10926) 2019-06-24 23:35:15 +08:00
dc378a2cff executor: tiny refactor the runtimeStats collection code (#10917) 2019-06-24 14:09:31 +08:00
421de5ef20 executor,server: re-implement the kill statement by checking the Next() function (#10841) 2019-06-20 11:03:21 +08:00
f6be085bc6 executor: tiny refactor the Executor interface (#10846)
Introduce a base() method to get the baseExecutor, so we don't need to add
method from baseExecutor to the Executor interface any more

Before:
```
type Executor interface {
	Open(context.Context) error
	Next(ctx context.Context, req *chunk.RecordBatch) error
	Close() error
	Schema() *expression.Schema

	retTypes() []*types.FieldType
	newFirstChunk() *chunk.Chunk
}
```

After:
```
type Executor interface {
        base() *baseExecutor
	Open(context.Context) error
	Next(ctx context.Context, req *chunk.RecordBatch) error
	Close() error
	Schema() *expression.Schema
}
```
2019-06-19 15:55:28 +08:00
d6396daa77 *: lazy eval explain id and tracker label (#10139) 2019-04-22 14:23:33 +08:00
e9653675dd *: remove errors.Trace in main handle path (#10033) 2019-04-04 14:27:15 +08:00
821af9e9f6 executor: control Chunk size for Joiners (#9614) 2019-03-19 21:30:21 +08:00
2433e28d8d *: fix ineffectual assignments and misspellings (#9481) 2019-02-28 19:25:07 +08:00
5a283a98dd plan/executor: make semi joins null and empty aware (#9051) 2019-02-25 15:42:38 +08:00
ec833bc4d2 *: fix some lints produced by golangci-lint (#8999) 2019-01-16 16:44:49 +08:00
00c4ff4fa9 *: refactor Executor.Next() to receive RecordBatch (#8994) 2019-01-14 15:04:36 +08:00
8b4c998815 executor: separate RadixHashJoinExec from HashJoinExec (#8979) 2019-01-10 20:11:43 +08:00
a81e312fbc executor: support parallel building hash table for radixHashJoin (#8927) 2019-01-08 14:59:44 +08:00
18d75a30ae executor: support parallel partition for HashJoinExec (#7911) 2019-01-03 13:17:45 +08:00
c137cada68 *: change golang.org/x/net/context to standard context (#8579) 2018-12-05 13:54:00 +08:00
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