0823fdb6b3
planner, executor: implement the null-aware antiSemiJoin and null-aware antiLeftOuterSemiJoin (hash join with inner build) ( #37512 )
...
close pingcap/tidb#37525
2022-09-20 00:05:03 +08:00
c6b94d2840
executor: migrate test-infra to testify for pkg_test ( #32178 )
...
close pingcap/tidb#28601
2022-02-09 15:27:36 +08:00
94e30df8e2
parser: fix compiling, add unit tests ( #28700 )
2021-10-11 23:15:25 +08:00
01e1ceda08
expression, executor: fix license header ( #28050 )
2021-09-15 10:56:42 +08:00
a2e2ce6339
*: use int instead of fmt.Stringer as executor id ( #19207 )
2020-08-19 13:39:31 +08:00
b13fdb7bce
*: make test more TestSortInDisk stable ( #18424 )
2020-07-13 11:51:55 +08:00
9d9f330a4b
executor, util: fix spilling disk when oom. ( #16895 )
2020-06-30 16:32:14 +08:00
ad598e431a
executor: add the cache for apply executor ( #17039 )
2020-06-17 21:24:12 +08:00
114405e114
executor: inline projection for hash join ( #14682 )
2020-02-13 18:44:33 +08:00
60bfdf5ba4
Revert "executor, util: rename original List to ListInMemory and add a new interface List ( #13353 )" ( #13363 )
...
This reverts commit 2b5f81add11497b5b5595b3ba16ac88cddf33a65.
2019-11-11 18:30:34 +08:00
2b5f81add1
executor, util: rename original List to ListInMemory and add a new interface List ( #13353 )
2019-11-11 15:50:43 +08:00
bdbaeb419d
executor: decrease the memory usage of hashTable in HashJoinExec ( #11832 )
2019-08-29 14:45:52 +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
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
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
5fcc7e2a61
executor: tiny clean up by removing unnecessary string creation ( #10213 )
...
* executor: clean up by remove unnecessary string creation
* check if id is nil
2019-04-22 15:32:15 +08:00
d6396daa77
*: lazy eval explain id and tracker label ( #10139 )
2019-04-22 14:23:33 +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
084aa5a030
config: add initChunkSize config item, make chunk start with 32 ( #8480 )
2019-01-07 11:14:47 +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
89dda9d9a8
*: move parser to a separate repository ( #8036 )
2018-10-25 11:12:10 +08:00
e81f855549
executor: let information_schema be the first database in ShowDatabases ( #7938 )
2018-10-23 14:28:45 +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
cf5e392b24
executor: change joinResultGenerator to joiner ( #7323 )
2018-08-13 19:03:58 +08:00
3299f860ff
*: use chunk.Row instead of types.DatumRow in test files ( #7139 )
2018-07-24 21:45:33 +08:00
fe60be9f7f
executor: remove Row ( #6236 )
2018-04-08 22:28:25 +08:00
ccf6da1a46
*: rename NextChunk to Next ( #6214 )
2018-04-03 20:00:30 +08:00
9c4cef8e04
executor: remove unused codes ( #6193 )
2018-03-30 19:38:07 +08:00
eacca19bde
executor: remove Next function for NestedLoopApplyExec ( #6027 )
2018-03-20 10:44:07 +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
3ce567630b
executor: store column's fieldType in executor ( #5619 )
2018-01-12 16:57:31 +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
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
cd5c665c8c
executor: use baseExecutor for all Executors ( #5087 )
...
Makes it easy to add new method on Executor interface.
2017-11-13 21:06:31 +08:00