Commit Graph

56 Commits

Author SHA1 Message Date
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
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
5a283a98dd plan/executor: make semi joins null and empty aware (#9051) 2019-02-25 15:42:38 +08:00
2f3842a8da executor, planner: refine merge join compare methods to avoid some rare cases (#9390) 2019-02-25 14:19:26 +08:00
ec833bc4d2 *: fix some lints produced by golangci-lint (#8999) 2019-01-16 16:44:49 +08:00
463d44c2bc executor: reset hasMatch flag for each outer row in merge join (#9046) 2019-01-14 21:29:31 +08:00
4a901db388 plan/executor: handle optimizer hint properly for cartesian join (#9037) 2019-01-14 18:00:32 +08:00
00c4ff4fa9 *: refactor Executor.Next() to receive RecordBatch (#8994) 2019-01-14 15:04:36 +08:00
c137cada68 *: change golang.org/x/net/context to standard context (#8579) 2018-12-05 13:54:00 +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
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
05b37de16e *: use chunk grow for simple executor (#7540) 2018-09-27 09:07:51 +08:00
cb03f2bec1 move from juju/errors to pkg/errors (#7151) 2018-09-12 15:42:20 +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
7e48ab1284 executor: skip inner rows when the join keys contains NULL (#7255) 2018-08-06 02:59:23 +08:00
4f16bdd618 executor: remove childrenResult from baseExecutor (#7076) 2018-07-18 21:18:48 +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
491f58d7d8 executor: track memory usage for merge join (#6172) 2018-03-31 17:17:23 +08:00
67c948b609 executor: refactor merge join (#6078) 2018-03-20 12:37:40 +08:00
4a0e771cdd executor: remove Next function for MergeJoinExec (#5993) 2018-03-09 21:43:31 +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
4e1a114e68 *: move package context to sessionctx (#5890) 2018-02-22 18:03:38 +08:00
64af2c2553 executor: refine merge join (#5799) 2018-02-06 15:45:49 +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
d568bf7f7c executor: refactor the way to compare rows in MergeJoinExec (#5640) 2018-01-15 12:41:07 +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
232ecbeca0 executor: support Chunk for MergeJoinExec (#5312) 2017-12-22 16:47:22 +08:00
8825d9b998 executor: support Chunk for joinResultGenerator (#5357) 2017-12-12 13:29:51 +08:00
fb610e6429 *: change executor Next() interface to Next(goctx.Context) (#5223) 2017-11-26 21:17:33 -06:00
02f6bb27c7 *: remove goCtx from session struct (#5174)
1. go context should not be stored
2. change Executor interface to Open(goctx.Context)
3. many other changes forced by this refactor
2017-11-22 02:17:38 -06:00
8b15cb52b7 *: move StatementContext to its own package. (#5177) 2017-11-22 00:11:14 +08:00
68cd5b09c4 plan, executor: improve hash join to support all join types (#4987) 2017-11-09 10:22:35 +08:00
7a71b14ac1 executor: remove joinBuilder (#5019) 2017-11-06 16:01:28 +08:00
c70ed24253 plan, executor: clean code. (#4994) 2017-11-02 23:32:04 +08:00
ecf07101b2 parser: Fix the bug of alter table table_options, other_alter_specification (#4931) 2017-10-31 15:07:49 +08:00
d036f0ef25 plan, executor: improve merge join to support all join types (#4869) 2017-10-26 18:39:02 +08:00
3e1d036336 *: log the caller of "terror.Log()" (#4729) 2017-10-10 11:26:43 +08:00
eb8df3519a *: prepare to enforce errcheck, part1 (#4670) 2017-09-30 16:23:37 +08:00
6f84392d40 *: optimize SortExec (#4622)
* *: change key of orderByRow from "key []types.Datum" to "key []*types.Datum"

* address comment
2017-09-25 19:50:26 +08:00