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