filesort

package
v2.0.3+incompatible Latest Latest
Warning

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

Go to latest
Published: Jun 1, 2018 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Builder

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

Builder builds a new FileSorter.

func (*Builder) Build

func (b *Builder) Build() (*FileSorter, error)

Build creates a FileSorter instance using given data.

func (*Builder) SetBuf

func (b *Builder) SetBuf(bufSize int) *Builder

SetBuf sets the number of rows FileSorter can hold in memory at a time.

func (*Builder) SetDesc

func (b *Builder) SetDesc(byDesc []bool) *Builder

SetDesc sets the ordering rule of row comparison.

func (*Builder) SetDir

func (b *Builder) SetDir(tmpDir string) *Builder

SetDir sets the working directory for FileSorter.

func (*Builder) SetSC

func (b *Builder) SetSC(sc *stmtctx.StatementContext) *Builder

SetSC sets StatementContext instance which is required in row comparison.

func (*Builder) SetSchema

func (b *Builder) SetSchema(keySize, valSize int) *Builder

SetSchema sets the schema of row, including key size and value size.

func (*Builder) SetWorkers

func (b *Builder) SetWorkers(nWorkers int) *Builder

SetWorkers sets the number of workers used in async sorting.

type FileSorter

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

FileSorter sorts the given rows according to the byDesc order. FileSorter can sort rows that exceed predefined memory capacity.

func (*FileSorter) Close

func (fs *FileSorter) Close() error

Close terminates the input or output process and discards all remaining data.

func (*FileSorter) Input

func (fs *FileSorter) Input(key []types.Datum, val []types.Datum, handle int64) error

Input adds one row into FileSorter. Caller should not call Input after calling Output.

func (*FileSorter) Output

func (fs *FileSorter) Output() ([]types.Datum, []types.Datum, int64, error)

Output gets the next sorted row.

type Worker

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

Worker sorts file asynchronously.

func (*Worker) Len

func (w *Worker) Len() int

func (*Worker) Less

func (w *Worker) Less(i, j int) bool

func (*Worker) Swap

func (w *Worker) Swap(i, j int)

Jump to

Keyboard shortcuts

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