aggregation

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Oct 1, 2019 License: Apache-2.0 Imports: 5 Imported by: 6

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Avg

type Avg struct {
	expression.UnaryExpression
}

Avg node to calculate the average from numeric column

func NewAvg

func NewAvg(e sql.Expression) *Avg

NewAvg creates a new Avg node.

func (*Avg) Eval

func (a *Avg) Eval(ctx *sql.Context, buffer sql.Row) (interface{}, error)

Eval implements AggregationExpression interface. (AggregationExpression[Expression]])

func (*Avg) IsNullable

func (a *Avg) IsNullable() bool

IsNullable implements AggregationExpression interface. (AggregationExpression[Expression]])

func (*Avg) Merge

func (a *Avg) Merge(ctx *sql.Context, buffer, partial sql.Row) error

Merge implements AggregationExpression interface. (AggregationExpression)

func (*Avg) NewBuffer

func (a *Avg) NewBuffer() sql.Row

NewBuffer implements AggregationExpression interface. (AggregationExpression)

func (*Avg) Resolved

func (a *Avg) Resolved() bool

Resolved implements AggregationExpression interface. (AggregationExpression[Expression[Resolvable]]])

func (*Avg) String

func (a *Avg) String() string

func (*Avg) Type

func (a *Avg) Type() sql.Type

Type implements AggregationExpression interface. (AggregationExpression[Expression]])

func (*Avg) Update

func (a *Avg) Update(ctx *sql.Context, buffer, row sql.Row) error

Update implements AggregationExpression interface. (AggregationExpression)

func (*Avg) WithChildren

func (a *Avg) WithChildren(children ...sql.Expression) (sql.Expression, error)

WithChildren implements the Expression interface.

type Count

type Count struct {
	expression.UnaryExpression
}

Count node to count how many rows are in the result set.

func NewCount

func NewCount(e sql.Expression) *Count

NewCount creates a new Count node.

func (*Count) Eval

func (c *Count) Eval(ctx *sql.Context, buffer sql.Row) (interface{}, error)

Eval implements the Aggregation interface.

func (*Count) IsNullable

func (c *Count) IsNullable() bool

IsNullable returns whether the return value can be null.

func (*Count) Merge

func (c *Count) Merge(ctx *sql.Context, buffer, partial sql.Row) error

Merge implements the Aggregation interface.

func (*Count) NewBuffer

func (c *Count) NewBuffer() sql.Row

NewBuffer creates a new buffer for the aggregation.

func (*Count) Resolved

func (c *Count) Resolved() bool

Resolved implements the Expression interface.

func (*Count) String

func (c *Count) String() string

func (*Count) Type

func (c *Count) Type() sql.Type

Type returns the type of the result.

func (*Count) Update

func (c *Count) Update(ctx *sql.Context, buffer, row sql.Row) error

Update implements the Aggregation interface.

func (*Count) WithChildren

func (c *Count) WithChildren(children ...sql.Expression) (sql.Expression, error)

WithChildren implements the Expression interface.

type CountDistinct

type CountDistinct struct {
	expression.UnaryExpression
}

CountDistinct node to count how many rows are in the result set.

func NewCountDistinct

func NewCountDistinct(e sql.Expression) *CountDistinct

NewCountDistinct creates a new CountDistinct node.

func (*CountDistinct) Eval

func (c *CountDistinct) Eval(ctx *sql.Context, buffer sql.Row) (interface{}, error)

Eval implements the Aggregation interface.

func (*CountDistinct) IsNullable

func (c *CountDistinct) IsNullable() bool

IsNullable returns whether the return value can be null.

func (*CountDistinct) Merge

func (c *CountDistinct) Merge(ctx *sql.Context, buffer, partial sql.Row) error

Merge implements the Aggregation interface.

func (*CountDistinct) NewBuffer

func (c *CountDistinct) NewBuffer() sql.Row

NewBuffer creates a new buffer for the aggregation.

func (*CountDistinct) Resolved

func (c *CountDistinct) Resolved() bool

Resolved implements the Expression interface.

func (*CountDistinct) String

func (c *CountDistinct) String() string

func (*CountDistinct) Type

func (c *CountDistinct) Type() sql.Type

Type returns the type of the result.

func (*CountDistinct) Update

func (c *CountDistinct) Update(ctx *sql.Context, buffer, row sql.Row) error

Update implements the Aggregation interface.

func (*CountDistinct) WithChildren

func (c *CountDistinct) WithChildren(children ...sql.Expression) (sql.Expression, error)

WithChildren implements the Expression interface.

type First

type First struct {
	expression.UnaryExpression
}

First agregation returns the first of all values in the selected column. It implements the Aggregation interface.

func NewFirst

func NewFirst(e sql.Expression) *First

NewFirst returns a new First node.

func (*First) Eval

func (f *First) Eval(ctx *sql.Context, buffer sql.Row) (interface{}, error)

Eval implements the Aggregation interface.

func (*First) Merge

func (f *First) Merge(ctx *sql.Context, buffer, partial sql.Row) error

Merge implements the Aggregation interface.

func (*First) NewBuffer

func (f *First) NewBuffer() sql.Row

NewBuffer creates a new buffer to compute the result.

func (*First) String

func (f *First) String() string

func (*First) Type

func (f *First) Type() sql.Type

Type returns the resultant type of the aggregation.

func (*First) Update

func (f *First) Update(ctx *sql.Context, buffer, row sql.Row) error

Update implements the Aggregation interface.

func (*First) WithChildren

func (f *First) WithChildren(children ...sql.Expression) (sql.Expression, error)

WithChildren implements the sql.Expression interface.

type Last

type Last struct {
	expression.UnaryExpression
}

Last agregation returns the last of all values in the selected column. It implements the Aggregation interface.

func NewLast

func NewLast(e sql.Expression) *Last

NewLast returns a new Last node.

func (*Last) Eval

func (l *Last) Eval(ctx *sql.Context, buffer sql.Row) (interface{}, error)

Eval implements the Aggregation interface.

func (*Last) Merge

func (l *Last) Merge(ctx *sql.Context, buffer, partial sql.Row) error

Merge implements the Aggregation interface.

func (*Last) NewBuffer

func (l *Last) NewBuffer() sql.Row

NewBuffer creates a new buffer to compute the result.

func (*Last) String

func (l *Last) String() string

func (*Last) Type

func (l *Last) Type() sql.Type

Type returns the resultant type of the aggregation.

func (*Last) Update

func (l *Last) Update(ctx *sql.Context, buffer, row sql.Row) error

Update implements the Aggregation interface.

func (*Last) WithChildren

func (l *Last) WithChildren(children ...sql.Expression) (sql.Expression, error)

WithChildren implements the sql.Expression interface.

type Max

type Max struct {
	expression.UnaryExpression
}

Max agregation returns the greatest value of the selected column. It implements the Aggregation interface

func NewMax

func NewMax(e sql.Expression) *Max

NewMax returns a new Max node.

func (*Max) Eval

func (m *Max) Eval(ctx *sql.Context, buffer sql.Row) (interface{}, error)

Eval implements the Aggregation interface.

func (*Max) IsNullable

func (m *Max) IsNullable() bool

IsNullable returns whether the return value can be null.

func (*Max) Merge

func (m *Max) Merge(ctx *sql.Context, buffer, partial sql.Row) error

Merge implements the Aggregation interface.

func (*Max) NewBuffer

func (m *Max) NewBuffer() sql.Row

NewBuffer creates a new buffer to compute the result.

func (*Max) Resolved

func (m *Max) Resolved() bool

Resolved implements the Resolvable interface.

func (*Max) String

func (m *Max) String() string

func (*Max) Type

func (m *Max) Type() sql.Type

Type returns the resultant type of the aggregation.

func (*Max) Update

func (m *Max) Update(ctx *sql.Context, buffer, row sql.Row) error

Update implements the Aggregation interface.

func (*Max) WithChildren

func (m *Max) WithChildren(children ...sql.Expression) (sql.Expression, error)

WithChildren implements the Expression interface.

type Min

type Min struct {
	expression.UnaryExpression
}

Min aggregation returns the smallest value of the selected column. It implements the Aggregation interface

func NewMin

func NewMin(e sql.Expression) *Min

NewMin creates a new Min node.

func (*Min) Eval

func (m *Min) Eval(ctx *sql.Context, buffer sql.Row) (interface{}, error)

Eval implements the Aggregation interface

func (*Min) IsNullable

func (m *Min) IsNullable() bool

IsNullable returns whether the return value can be null.

func (*Min) Merge

func (m *Min) Merge(ctx *sql.Context, buffer, partial sql.Row) error

Merge implements the Aggregation interface.

func (*Min) NewBuffer

func (m *Min) NewBuffer() sql.Row

NewBuffer creates a new buffer to compute the result.

func (*Min) Resolved

func (m *Min) Resolved() bool

Resolved implements the Resolvable interface.

func (*Min) String

func (m *Min) String() string

func (*Min) Type

func (m *Min) Type() sql.Type

Type returns the resultant type of the aggregation.

func (*Min) Update

func (m *Min) Update(ctx *sql.Context, buffer, row sql.Row) error

Update implements the Aggregation interface.

func (*Min) WithChildren

func (m *Min) WithChildren(children ...sql.Expression) (sql.Expression, error)

WithChildren implements the Expression interface.

type Sum

type Sum struct {
	expression.UnaryExpression
}

Sum agregation returns the sum of all values in the selected column. It implements the Aggregation interface.

func NewSum

func NewSum(e sql.Expression) *Sum

NewSum returns a new Sum node.

func (*Sum) Eval

func (m *Sum) Eval(ctx *sql.Context, buffer sql.Row) (interface{}, error)

Eval implements the Aggregation interface.

func (*Sum) Merge

func (m *Sum) Merge(ctx *sql.Context, buffer, partial sql.Row) error

Merge implements the Aggregation interface.

func (*Sum) NewBuffer

func (m *Sum) NewBuffer() sql.Row

NewBuffer creates a new buffer to compute the result.

func (*Sum) String

func (m *Sum) String() string

func (*Sum) Type

func (m *Sum) Type() sql.Type

Type returns the resultant type of the aggregation.

func (*Sum) Update

func (m *Sum) Update(ctx *sql.Context, buffer, row sql.Row) error

Update implements the Aggregation interface.

func (*Sum) WithChildren

func (m *Sum) WithChildren(children ...sql.Expression) (sql.Expression, error)

WithChildren implements the Expression interface.

Jump to

Keyboard shortcuts

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