Commit Graph

68 Commits

Author SHA1 Message Date
8cf847a575 executor: add an unit test case for unreasonable invoking Close (#30696) 2021-12-16 13:04:35 +08:00
7755d25aba *: Integrate SkyWalking-eyes to check license headers in CI and fix licenses headers (#27198) 2021-08-16 18:52:00 +08:00
bc37f088ba *: fix some varcheck lint warnings (#23011) 2021-03-01 15:10:54 +08:00
a2e2ce6339 *: use int instead of fmt.Stringer as executor id (#19207) 2020-08-19 13:39:31 +08:00
0b035c850a util: oom-action waits spilling result when acting again (#18381) 2020-07-23 14:08:20 +08:00
b13fdb7bce *: make test more TestSortInDisk stable (#18424) 2020-07-13 11:51:55 +08:00
764a69df44 executor: solve bug of merge join which does not consume all the inner tuples (#15473) 2020-03-24 23:05:01 +08:00
574a014f70 *: deprecate system variables tidb_mem_quota_XXX (#15084) 2020-03-10 15:57:03 +08:00
cfe0c2025f executor: vectorize the merge join executor by vecGroupChecker (#14458) 2020-02-04 15:41:24 +08:00
c2da4eafd7 planner: Fix SMJ hint, support SMJ with descending order. (#14505) 2020-01-25 10:10:10 +08:00
a487748b46 executor: support merge join on disk (#13946) 2019-12-31 18:49:10 +08:00
d88cd749f5 executor, expression: 1. rename tryToMatch to tryToMatchOuters 2. tiny refine tryToMatchOuters (#12138) 2019-09-11 11:24:14 +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
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