expr

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jul 18, 2025 License: Apache-2.0, MIT Imports: 7 Imported by: 0

Documentation

Overview

Package expr provides expression evaluation for DataFrame operations

Index

Constants

View Source
const (
	AggNameSum   = "sum"
	AggNameCount = "count"
	AggNameMean  = "mean"
	AggNameMin   = "min"
	AggNameMax   = "max"
)

Aggregation function name constants

Variables

This section is empty.

Functions

This section is empty.

Types

type AggregationExpr

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

AggregationExpr represents an aggregation function over a column

func Count

func Count(column Expr) *AggregationExpr

Count creates a count aggregation expression

func Max

func Max(column Expr) *AggregationExpr

Max creates a max aggregation expression

func Mean

func Mean(column Expr) *AggregationExpr

Mean creates a mean aggregation expression

func Min

func Min(column Expr) *AggregationExpr

Min creates a min aggregation expression

func Sum

func Sum(column Expr) *AggregationExpr

Sum creates a sum aggregation expression

func (*AggregationExpr) AggType

func (a *AggregationExpr) AggType() AggregationType

func (*AggregationExpr) Alias

func (a *AggregationExpr) Alias() string

func (*AggregationExpr) As

func (a *AggregationExpr) As(alias string) *AggregationExpr

As sets an alias for the aggregation expression

func (*AggregationExpr) Column

func (a *AggregationExpr) Column() Expr

func (*AggregationExpr) Over added in v0.2.0

func (a *AggregationExpr) Over(window *WindowSpec) *WindowExpr

Over creates a window expression with the specified window for aggregation functions

func (*AggregationExpr) String

func (a *AggregationExpr) String() string

func (*AggregationExpr) Type

func (a *AggregationExpr) Type() ExprType

type AggregationType

type AggregationType int

AggregationType represents the type of aggregation function

const (
	AggSum AggregationType = iota
	AggCount
	AggMean
	AggMin
	AggMax
)

type BinaryExpr

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

BinaryExpr represents a binary operation

func (*BinaryExpr) Abs

func (b *BinaryExpr) Abs() *FunctionExpr

Abs creates an absolute value function expression

func (*BinaryExpr) Add

func (b *BinaryExpr) Add(other Expr) *BinaryExpr

Add creates an addition expression

func (*BinaryExpr) And

func (b *BinaryExpr) And(other Expr) *BinaryExpr

And creates a logical AND expression

func (*BinaryExpr) Ceil

func (b *BinaryExpr) Ceil() *FunctionExpr

Ceil creates a ceil function expression

func (*BinaryExpr) Cos

func (b *BinaryExpr) Cos() *FunctionExpr

Cos creates a cosine function expression

func (*BinaryExpr) Div

func (b *BinaryExpr) Div(other Expr) *BinaryExpr

Div creates a division expression

func (*BinaryExpr) Floor

func (b *BinaryExpr) Floor() *FunctionExpr

Floor creates a floor function expression

func (*BinaryExpr) Left

func (b *BinaryExpr) Left() Expr

func (*BinaryExpr) Log

func (b *BinaryExpr) Log() *FunctionExpr

Log creates a natural logarithm function expression

func (*BinaryExpr) Mul

func (b *BinaryExpr) Mul(other Expr) *BinaryExpr

Mul creates a multiplication expression

func (*BinaryExpr) Op

func (b *BinaryExpr) Op() BinaryOp

func (*BinaryExpr) Or

func (b *BinaryExpr) Or(other Expr) *BinaryExpr

Or creates a logical OR expression

func (*BinaryExpr) Right

func (b *BinaryExpr) Right() Expr

func (*BinaryExpr) Round

func (b *BinaryExpr) Round() *FunctionExpr

Round creates a round function expression

func (*BinaryExpr) RoundTo

func (b *BinaryExpr) RoundTo(precision Expr) *FunctionExpr

RoundTo creates a round function expression with precision

func (*BinaryExpr) Sin

func (b *BinaryExpr) Sin() *FunctionExpr

Sin creates a sine function expression

func (*BinaryExpr) Sqrt

func (b *BinaryExpr) Sqrt() *FunctionExpr

Sqrt creates a square root function expression

func (*BinaryExpr) String

func (b *BinaryExpr) String() string

func (*BinaryExpr) Sub

func (b *BinaryExpr) Sub(other Expr) *BinaryExpr

Sub creates a subtraction expression

func (*BinaryExpr) Type

func (b *BinaryExpr) Type() ExprType

type BinaryOp

type BinaryOp int

BinaryOp represents binary operations

const (
	OpAdd BinaryOp = iota
	OpSub
	OpMul
	OpDiv
	OpEq
	OpNe
	OpLt
	OpLe
	OpGt
	OpGe
	OpAnd
	OpOr
)

type BoundaryType added in v0.2.0

type BoundaryType int

BoundaryType represents the type of frame boundary

const (
	BoundaryUnboundedPreceding BoundaryType = iota
	BoundaryPreceding
	BoundaryCurrentRow
	BoundaryFollowing
	BoundaryUnboundedFollowing
)

type CaseExpr

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

CaseExpr represents a CASE expression with multiple WHEN clauses

func Case

func Case() *CaseExpr

Case creates a new CASE expression

func (*CaseExpr) Else

func (c *CaseExpr) Else(value Expr) *CaseExpr

Else sets the default value for the case expression

func (*CaseExpr) ElseValue

func (c *CaseExpr) ElseValue() Expr

func (*CaseExpr) String

func (c *CaseExpr) String() string

func (*CaseExpr) Type

func (c *CaseExpr) Type() ExprType

func (*CaseExpr) When

func (c *CaseExpr) When(condition, value Expr) *CaseExpr

When adds a condition-value pair to the case expression

func (*CaseExpr) Whens

func (c *CaseExpr) Whens() []CaseWhen

type CaseWhen

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

CaseWhen represents a condition and value pair in CASE expression

type ColumnExpr

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

ColumnExpr represents a column reference

func Col

func Col(name string) *ColumnExpr

Col creates a column expression

func (*ColumnExpr) Abs

func (c *ColumnExpr) Abs() *FunctionExpr

Abs creates an absolute value function expression

func (*ColumnExpr) Add

func (c *ColumnExpr) Add(other Expr) *BinaryExpr

Add creates an addition expression

func (*ColumnExpr) CastToBool

func (c *ColumnExpr) CastToBool() *FunctionExpr

CastToBool creates a cast to bool function expression

func (*ColumnExpr) CastToFloat64

func (c *ColumnExpr) CastToFloat64() *FunctionExpr

CastToFloat64 creates a cast to float64 function expression

func (*ColumnExpr) CastToInt64

func (c *ColumnExpr) CastToInt64() *FunctionExpr

CastToInt64 creates a cast to int64 function expression

func (*ColumnExpr) CastToString

func (c *ColumnExpr) CastToString() *FunctionExpr

CastToString creates a cast to string function expression

func (*ColumnExpr) Ceil

func (c *ColumnExpr) Ceil() *FunctionExpr

Ceil creates a ceil function expression

func (*ColumnExpr) Cos

func (c *ColumnExpr) Cos() *FunctionExpr

Cos creates a cosine function expression

func (*ColumnExpr) Count

func (c *ColumnExpr) Count() *AggregationExpr

Count creates a count aggregation of this column

func (*ColumnExpr) Day added in v0.2.0

func (c *ColumnExpr) Day() *FunctionExpr

Day creates a DAY function expression to extract day from date/time

func (*ColumnExpr) Div

func (c *ColumnExpr) Div(other Expr) *BinaryExpr

Div creates a division expression

func (*ColumnExpr) Eq

func (c *ColumnExpr) Eq(other Expr) *BinaryExpr

Eq creates an equality expression

func (*ColumnExpr) Floor

func (c *ColumnExpr) Floor() *FunctionExpr

Floor creates a floor function expression

func (*ColumnExpr) Ge

func (c *ColumnExpr) Ge(other Expr) *BinaryExpr

Ge creates a greater-than-or-equal expression

func (*ColumnExpr) Gt

func (c *ColumnExpr) Gt(other Expr) *BinaryExpr

Gt creates a greater-than expression

func (*ColumnExpr) Hour added in v0.2.0

func (c *ColumnExpr) Hour() *FunctionExpr

Hour creates an HOUR function expression to extract hour from timestamp

func (*ColumnExpr) Le

func (c *ColumnExpr) Le(other Expr) *BinaryExpr

Le creates a less-than-or-equal expression

func (*ColumnExpr) Length

func (c *ColumnExpr) Length() *FunctionExpr

Length creates a LENGTH function expression

func (*ColumnExpr) Log

func (c *ColumnExpr) Log() *FunctionExpr

Log creates a natural logarithm function expression

func (*ColumnExpr) Lower

func (c *ColumnExpr) Lower() *FunctionExpr

Lower creates a LOWER function expression

func (*ColumnExpr) Lt

func (c *ColumnExpr) Lt(other Expr) *BinaryExpr

Lt creates a less-than expression

func (*ColumnExpr) Max

func (c *ColumnExpr) Max() *AggregationExpr

Max creates a max aggregation of this column

func (*ColumnExpr) Mean

func (c *ColumnExpr) Mean() *AggregationExpr

Mean creates a mean aggregation of this column

func (*ColumnExpr) Min

func (c *ColumnExpr) Min() *AggregationExpr

Min creates a min aggregation of this column

func (*ColumnExpr) Minute added in v0.2.0

func (c *ColumnExpr) Minute() *FunctionExpr

Minute creates a MINUTE function expression to extract minute from timestamp

func (*ColumnExpr) Month added in v0.2.0

func (c *ColumnExpr) Month() *FunctionExpr

Month creates a MONTH function expression to extract month from date/time

func (*ColumnExpr) Mul

func (c *ColumnExpr) Mul(other Expr) *BinaryExpr

Mul creates a multiplication expression

func (*ColumnExpr) Name

func (c *ColumnExpr) Name() string

func (*ColumnExpr) Ne

func (c *ColumnExpr) Ne(other Expr) *BinaryExpr

Ne creates a not-equal expression

func (*ColumnExpr) Neg

func (c *ColumnExpr) Neg() *UnaryExpr

Neg creates a negation (unary minus) expression

func (*ColumnExpr) Not

func (c *ColumnExpr) Not() *UnaryExpr

Not creates a logical NOT expression

func (*ColumnExpr) Round

func (c *ColumnExpr) Round() *FunctionExpr

Round creates a round function expression

func (*ColumnExpr) RoundTo

func (c *ColumnExpr) RoundTo(precision Expr) *FunctionExpr

RoundTo creates a round function expression with precision

func (*ColumnExpr) Second added in v0.2.0

func (c *ColumnExpr) Second() *FunctionExpr

Second creates a SECOND function expression to extract second from timestamp

func (*ColumnExpr) Sin

func (c *ColumnExpr) Sin() *FunctionExpr

Sin creates a sine function expression

func (*ColumnExpr) Sqrt

func (c *ColumnExpr) Sqrt() *FunctionExpr

Sqrt creates a square root function expression

func (*ColumnExpr) String

func (c *ColumnExpr) String() string

func (*ColumnExpr) Sub

func (c *ColumnExpr) Sub(other Expr) *BinaryExpr

Sub creates a subtraction expression

func (*ColumnExpr) Substring

func (c *ColumnExpr) Substring(start, length Expr) *FunctionExpr

Substring creates a SUBSTRING function expression

func (*ColumnExpr) Sum

func (c *ColumnExpr) Sum() *AggregationExpr

Sum creates a sum aggregation of this column

func (*ColumnExpr) Trim

func (c *ColumnExpr) Trim() *FunctionExpr

Trim creates a TRIM function expression

func (*ColumnExpr) Type

func (c *ColumnExpr) Type() ExprType

func (*ColumnExpr) Upper

func (c *ColumnExpr) Upper() *FunctionExpr

Upper creates an UPPER function expression

func (*ColumnExpr) Year added in v0.2.0

func (c *ColumnExpr) Year() *FunctionExpr

Year creates a YEAR function expression to extract year from date/time

type Evaluator

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

Evaluator evaluates expressions against Arrow arrays

func NewEvaluator

func NewEvaluator(mem memory.Allocator) *Evaluator

NewEvaluator creates a new expression evaluator

func (*Evaluator) Evaluate

func (e *Evaluator) Evaluate(expr Expr, columns map[string]arrow.Array) (arrow.Array, error)

Evaluate evaluates an expression that returns a value array (numeric, string, etc.)

func (*Evaluator) EvaluateBoolean

func (e *Evaluator) EvaluateBoolean(expr Expr, columns map[string]arrow.Array) (arrow.Array, error)

EvaluateBoolean evaluates an expression that should return a boolean array

func (*Evaluator) EvaluateWindow added in v0.2.0

func (e *Evaluator) EvaluateWindow(expr *WindowExpr, columns map[string]arrow.Array) (arrow.Array, error)

EvaluateWindow evaluates a window expression

type Expr

type Expr interface {
	Type() ExprType
	String() string
}

Expr represents an expression that can be evaluated lazily

type ExprType

type ExprType int

ExprType represents the type of expression

const (
	ExprColumn ExprType = iota
	ExprLiteral
	ExprBinary
	ExprUnary
	ExprFunction
	ExprAggregation
	ExprCase
	ExprInvalid
)
const (
	ExprWindow ExprType = iota + 100
	ExprWindowFunction
)

Add new expression types for window functions

type FrameBoundary added in v0.2.0

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

FrameBoundary represents a frame boundary

func CurrentRow added in v0.2.0

func CurrentRow() *FrameBoundary

CurrentRow creates a current row boundary

func Following added in v0.2.0

func Following(offset int) *FrameBoundary

Following creates a following boundary with offset

func Preceding added in v0.2.0

func Preceding(offset int) *FrameBoundary

Preceding creates a preceding boundary with offset

func UnboundedFollowing added in v0.2.0

func UnboundedFollowing() *FrameBoundary

UnboundedFollowing creates an unbounded following boundary

func UnboundedPreceding added in v0.2.0

func UnboundedPreceding() *FrameBoundary

UnboundedPreceding creates an unbounded preceding boundary

func (*FrameBoundary) String added in v0.2.0

func (b *FrameBoundary) String() string

String returns the string representation of the boundary

type FrameType added in v0.2.0

type FrameType int

FrameType represents the type of window frame

const (
	FrameTypeRows FrameType = iota
	FrameTypeRange
	FrameTypeGroups
)

type FunctionExpr

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

FunctionExpr represents a function call expression

func Coalesce

func Coalesce(exprs ...Expr) *FunctionExpr

Coalesce creates a COALESCE function expression

func Concat

func Concat(exprs ...Expr) *FunctionExpr

Concat creates a CONCAT function expression

func Day added in v0.2.0

func Day(expr Expr) *FunctionExpr

Day creates a DAY function expression

func Hour added in v0.2.0

func Hour(expr Expr) *FunctionExpr

Hour creates an HOUR function expression

func If

func If(condition, thenValue, elseValue Expr) *FunctionExpr

If creates an IF function expression

func Minute added in v0.2.0

func Minute(expr Expr) *FunctionExpr

Minute creates a MINUTE function expression

func Month added in v0.2.0

func Month(expr Expr) *FunctionExpr

Month creates a MONTH function expression

func Second added in v0.2.0

func Second(expr Expr) *FunctionExpr

Second creates a SECOND function expression

func Year added in v0.2.0

func Year(expr Expr) *FunctionExpr

Year creates a YEAR function expression

func (*FunctionExpr) Abs

func (f *FunctionExpr) Abs() *FunctionExpr

Abs creates an absolute value function expression

func (*FunctionExpr) Add

func (f *FunctionExpr) Add(other Expr) *BinaryExpr

Add creates an addition expression for function expressions

func (*FunctionExpr) And

func (f *FunctionExpr) And(other Expr) *BinaryExpr

func (*FunctionExpr) Args

func (f *FunctionExpr) Args() []Expr

func (*FunctionExpr) CastToBool

func (f *FunctionExpr) CastToBool() *FunctionExpr

func (*FunctionExpr) CastToFloat64

func (f *FunctionExpr) CastToFloat64() *FunctionExpr

func (*FunctionExpr) CastToInt64

func (f *FunctionExpr) CastToInt64() *FunctionExpr

func (*FunctionExpr) CastToString

func (f *FunctionExpr) CastToString() *FunctionExpr

CastToString creates a string casting function expression

func (*FunctionExpr) Ceil

func (f *FunctionExpr) Ceil() *FunctionExpr

func (*FunctionExpr) Cos

func (f *FunctionExpr) Cos() *FunctionExpr

func (*FunctionExpr) Day added in v0.2.0

func (f *FunctionExpr) Day() *FunctionExpr

Day creates a DAY function expression to extract day from date/time

func (*FunctionExpr) Div

func (f *FunctionExpr) Div(other Expr) *BinaryExpr

func (*FunctionExpr) Eq

func (f *FunctionExpr) Eq(other Expr) *BinaryExpr

func (*FunctionExpr) Floor

func (f *FunctionExpr) Floor() *FunctionExpr

func (*FunctionExpr) Ge

func (f *FunctionExpr) Ge(other Expr) *BinaryExpr

func (*FunctionExpr) Gt

func (f *FunctionExpr) Gt(other Expr) *BinaryExpr

func (*FunctionExpr) Hour added in v0.2.0

func (f *FunctionExpr) Hour() *FunctionExpr

Hour creates an HOUR function expression to extract hour from timestamp

func (*FunctionExpr) Le

func (f *FunctionExpr) Le(other Expr) *BinaryExpr

func (*FunctionExpr) Length

func (f *FunctionExpr) Length() *FunctionExpr

func (*FunctionExpr) Log

func (f *FunctionExpr) Log() *FunctionExpr

func (*FunctionExpr) Lower

func (f *FunctionExpr) Lower() *FunctionExpr

func (*FunctionExpr) Lt

func (f *FunctionExpr) Lt(other Expr) *BinaryExpr

func (*FunctionExpr) Minute added in v0.2.0

func (f *FunctionExpr) Minute() *FunctionExpr

Minute creates a MINUTE function expression to extract minute from timestamp

func (*FunctionExpr) Month added in v0.2.0

func (f *FunctionExpr) Month() *FunctionExpr

Month creates a MONTH function expression to extract month from date/time

func (*FunctionExpr) Mul

func (f *FunctionExpr) Mul(other Expr) *BinaryExpr

func (*FunctionExpr) Name

func (f *FunctionExpr) Name() string

func (*FunctionExpr) Ne

func (f *FunctionExpr) Ne(other Expr) *BinaryExpr

func (*FunctionExpr) Neg

func (f *FunctionExpr) Neg() *UnaryExpr

Neg creates a negation expression for function expressions

func (*FunctionExpr) Not

func (f *FunctionExpr) Not() *UnaryExpr

func (*FunctionExpr) Or

func (f *FunctionExpr) Or(other Expr) *BinaryExpr

func (*FunctionExpr) Round

func (f *FunctionExpr) Round() *FunctionExpr

func (*FunctionExpr) RoundTo

func (f *FunctionExpr) RoundTo(precision Expr) *FunctionExpr

func (*FunctionExpr) Second added in v0.2.0

func (f *FunctionExpr) Second() *FunctionExpr

Second creates a SECOND function expression to extract second from timestamp

func (*FunctionExpr) Sin

func (f *FunctionExpr) Sin() *FunctionExpr

func (*FunctionExpr) Sqrt

func (f *FunctionExpr) Sqrt() *FunctionExpr

func (*FunctionExpr) String

func (f *FunctionExpr) String() string

func (*FunctionExpr) Sub

func (f *FunctionExpr) Sub(other Expr) *BinaryExpr

func (*FunctionExpr) Substring

func (f *FunctionExpr) Substring(start, length Expr) *FunctionExpr

func (*FunctionExpr) Trim

func (f *FunctionExpr) Trim() *FunctionExpr

func (*FunctionExpr) Type

func (f *FunctionExpr) Type() ExprType

func (*FunctionExpr) Upper

func (f *FunctionExpr) Upper() *FunctionExpr

Upper creates an uppercase function expression

func (*FunctionExpr) Year added in v0.2.0

func (f *FunctionExpr) Year() *FunctionExpr

Year creates a YEAR function expression to extract year from date/time

type InvalidExpr

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

InvalidExpr represents an invalid expression with an error message

func Invalid

func Invalid(message string) *InvalidExpr

Invalid creates an invalid expression with an error message

func (*InvalidExpr) Message

func (i *InvalidExpr) Message() string

func (*InvalidExpr) String

func (i *InvalidExpr) String() string

func (*InvalidExpr) Type

func (i *InvalidExpr) Type() ExprType

type LiteralExpr

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

LiteralExpr represents a literal value

func Lit

func Lit(value interface{}) *LiteralExpr

Lit creates a literal expression

func (*LiteralExpr) String

func (l *LiteralExpr) String() string

func (*LiteralExpr) Type

func (l *LiteralExpr) Type() ExprType

func (*LiteralExpr) Value

func (l *LiteralExpr) Value() interface{}

type OrderByExpr added in v0.2.0

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

OrderByExpr represents a column ordering specification

type UnaryExpr

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

UnaryExpr represents a unary operation

func (*UnaryExpr) Op

func (u *UnaryExpr) Op() UnaryOp

func (*UnaryExpr) Operand

func (u *UnaryExpr) Operand() Expr

func (*UnaryExpr) String

func (u *UnaryExpr) String() string

func (*UnaryExpr) Type

func (u *UnaryExpr) Type() ExprType

type UnaryOp

type UnaryOp int

UnaryOp represents unary operations

const (
	UnaryNeg UnaryOp = iota
	UnaryNot
)

type WindowExpr added in v0.2.0

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

WindowExpr represents a window function expression

func (*WindowExpr) String added in v0.2.0

func (w *WindowExpr) String() string

String returns the string representation

func (*WindowExpr) Type added in v0.2.0

func (w *WindowExpr) Type() ExprType

Type returns the expression type

type WindowFrame added in v0.2.0

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

WindowFrame represents the frame specification for window functions

func Between added in v0.2.0

func Between(start, end *FrameBoundary) *WindowFrame

Between creates a window frame between two boundaries

func (*WindowFrame) String added in v0.2.0

func (f *WindowFrame) String() string

String returns the string representation of the frame

type WindowFunctionExpr added in v0.2.0

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

WindowFunctionExpr represents a window-specific function (ROW_NUMBER, RANK, etc.)

func DenseRank added in v0.2.0

func DenseRank() *WindowFunctionExpr

DenseRank creates a DENSE_RANK() window function

func FirstValue added in v0.2.0

func FirstValue(expr Expr) *WindowFunctionExpr

FirstValue creates a FIRST_VALUE() window function

func Lag added in v0.2.0

func Lag(expr Expr, offset int) *WindowFunctionExpr

Lag creates a LAG() window function

func LastValue added in v0.2.0

func LastValue(expr Expr) *WindowFunctionExpr

LastValue creates a LAST_VALUE() window function

func Lead added in v0.2.0

func Lead(expr Expr, offset int) *WindowFunctionExpr

Lead creates a LEAD() window function

func Rank added in v0.2.0

func Rank() *WindowFunctionExpr

Rank creates a RANK() window function

func RowNumber added in v0.2.0

func RowNumber() *WindowFunctionExpr

RowNumber creates a ROW_NUMBER() window function

func (*WindowFunctionExpr) Over added in v0.2.0

func (w *WindowFunctionExpr) Over(window *WindowSpec) *WindowExpr

Over creates a window expression with the specified window

func (*WindowFunctionExpr) String added in v0.2.0

func (w *WindowFunctionExpr) String() string

String returns the string representation

func (*WindowFunctionExpr) Type added in v0.2.0

func (w *WindowFunctionExpr) Type() ExprType

Type returns the expression type

type WindowSpec added in v0.2.0

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

WindowSpec represents a window specification for window functions

func NewWindow added in v0.2.0

func NewWindow() *WindowSpec

NewWindow creates a new window specification

func (*WindowSpec) OrderBy added in v0.2.0

func (w *WindowSpec) OrderBy(column string, ascending bool) *WindowSpec

OrderBy adds an ordering specification to the window

func (*WindowSpec) PartitionBy added in v0.2.0

func (w *WindowSpec) PartitionBy(columns ...string) *WindowSpec

PartitionBy sets the partition columns for the window

func (*WindowSpec) Range added in v0.2.0

func (w *WindowSpec) Range(frame *WindowFrame) *WindowSpec

Range sets a RANGE frame for the window

func (*WindowSpec) Rows added in v0.2.0

func (w *WindowSpec) Rows(frame *WindowFrame) *WindowSpec

Rows sets a ROWS frame for the window

func (*WindowSpec) String added in v0.2.0

func (w *WindowSpec) String() string

String returns the string representation of the window spec

Jump to

Keyboard shortcuts

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