chunk

package
v0.0.0-...-eed5818 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 16, 2020 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AfFinalResult

type AfFinalResult struct {
	// contains filtered or unexported fields
}

AfFinalResult indicates aggregation functions final result.

type HashAggExec

type HashAggExec struct {
	PartialAggFuncs []aggfuncs.AggFunc
	FinalAggFuncs   []aggfuncs.AggFunc

	GroupByItems []expression.Expression
	// contains filtered or unexported fields
}

HashAggExec deals with all the aggregate functions. It is built from the Aggregate Plan. When Next() is called, it reads all the data from Src and updates all the items in PartialAggFuncs. The parallel execution flow is as the following graph shows:

                  +-------------+
                  | Main Thread |
                  +------+------+
                         ^
                         |
                         +
                    +-+-            +-+
                    | |    ......   | |  finalOutputCh
                    +++-            +-+
                     ^
                     |
                     +---------------+
                     |               |
       +--------------+             +--------------+
       | final worker |     ......  | final worker |
       +------------+-+             +-+------------+
                    ^                 ^
                    |                 |
                   +-+  +-+  ......  +-+
                   | |  | |          | |
                   ...  ...          ...    partialOutputChs
                   | |  | |          | |
                   +++  +++          +++
                    ^    ^            ^
+-+                 |    |            |
| |        +--------o----+            |

inputCh +-+ | +-----------------+---+

    | |        |                              |
    ...    +---+------------+            +----+-----------+
    | |    | partial worker |   ......   | partial worker |
    +++    +--------------+-+            +-+--------------+
     |                     ^                ^
     |                     |                |
+----v---------+          +++ +-+          +++
| data fetcher | +------> | | | |  ......  | |   partialInputChs
+--------------+          +-+ +-+          +-+

func (*HashAggExec) Close

func (e *HashAggExec) Close() error

Close implements the Interlock Close interface.

func (*HashAggExec) Open

func (e *HashAggExec) Open(ctx context.Context) error

Open implements the Interlock Open interface.

type HashAggFinalWorker

type HashAggFinalWorker struct {
	// contains filtered or unexported fields
}

HashAggFinalWorker indicates the final workers of parallel hash agg execution, the number of the worker can be set by `MilevaDB_hashagg_final_concurrency`.

type HashAggInput

type HashAggInput struct {
	// contains filtered or unexported fields
}

HashAggInput indicates the input of hash agg exec.

type HashAggIntermData

type HashAggIntermData struct {
	// contains filtered or unexported fields
}

HashAggIntermData indicates the intermediate data of aggregation execution.

type HashAggPartialWorker

type HashAggPartialWorker struct {
	// contains filtered or unexported fields
}

HashAggPartialWorker indicates the partial workers of parallel hash agg execution, the number of the worker can be set by `MilevaDB_hashagg_partial_concurrency`.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL