Commit Graph

46 Commits

Author SHA1 Message Date
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
xhe
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