Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type UnionExec ¶
type UnionExec struct {
exec.BaseExecutor
Concurrency int
// contains filtered or unexported fields
}
UnionExec pulls all it's children's result and returns to its parent directly. A "resultPuller" is started for every child to pull result from that child and push it to the "resultPool", the used "Chunk" is obtained from the corresponding "resourcePool". All resultPullers are running concurrently.
+----------------+
+---> resourcePool 1 ---> | resultPuller 1 |-----+
| +----------------+ |
| |
| +----------------+ v
+---> resourcePool 2 ---> | resultPuller 2 |-----> resultPool ---+
| +----------------+ ^ |
| ...... | |
| +----------------+ | |
+---> resourcePool n ---> | resultPuller n |-----+ |
| +----------------+ |
| |
| +-------------+ |
|--------------------------| main thread | <---------------------+
+-------------+
Click to show internal directories.
Click to hide internal directories.