Help us shape the future of Go! Take the 2026 Go Developer Survey

filesort

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Nov 13, 2017 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 *variable.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