Versions in this module Expand all Collapse all v0 v0.1.1 Jan 2, 2022 Changes in this version + const ConvertToBinary + const ConvertToChar + const ConvertToDate + const ConvertToDatetime + const ConvertToDecimal + const ConvertToDouble + const ConvertToJSON + const ConvertToNChar + const ConvertToReal + const ConvertToSigned + const ConvertToTime + const ConvertToUnsigned + const IsFalseStr + const IsTrueStr + var ErrAutoIncrementUnsupported = errors.NewKind("table %s does not support AUTO_INCREMENT columns") + var ErrConvertExpression = errors.NewKind("expression '%v': couldn't convert to %v") + var ErrIndexOutOfBounds = errors.NewKind("unable to find field with index %d in row of %d columns") + var ErrInvalidRegexp = errors.NewKind("Invalid regular expression: %s") + var ErrNilOperand = errors.NewKind("nil operand found in comparison") + var ErrNoAutoIncrementCols = errors.NewKind("table %s has no AUTO_INCREMENT columns") + var ErrUnsupportedInOperand = errors.NewKind("right operand in IN operation must be tuple, but is %T") + func Clone(expr sql.Expression) (sql.Expression, error) + func Dispose(e sql.Expression) + func ExpressionToColumn(e sql.Expression) *sql.Column + func ExpressionsResolved(exprs ...sql.Expression) bool + func InspectUp(node sql.Expression, f func(sql.Expression) bool) bool + func IsBinary(e sql.Expression) bool + func IsUnary(e sql.Expression) bool + func JoinAnd(exprs ...sql.Expression) sql.Expression + func NewAnd(left, right sql.Expression) sql.Expression + func NewBinary(e sql.Expression) sql.Expression + func NewBindVar(name string) sql.Expression + func NewLike(left, right, escape sql.Expression) sql.Expression + func NewNotInTuple(left sql.Expression, right sql.Expression) sql.Expression + func NewOr(left, right sql.Expression) sql.Expression + func NewSetField(left, expr sql.Expression) sql.Expression + func SchemaToGetFields(s sql.Schema) []sql.Expression + func TransformUp(e sql.Expression, f sql.TransformExprFunc) (sql.Expression, error) + func TransformUpWithNode(n sql.Node, e sql.Expression, f TransformExprWithNodeFunc) (sql.Expression, error) + func WrapExpressions(exprs ...sql.Expression) []sql.Expression + type Alias struct + func NewAlias(name string, expr sql.Expression) *Alias + func (e *Alias) DebugString() string + func (e *Alias) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (e *Alias) Name() string + func (e *Alias) String() string + func (e *Alias) Type() sql.Type + func (e *Alias) WithChildren(children ...sql.Expression) (sql.Expression, error) + type And struct + func (*And) Type() sql.Type + func (a *And) DebugString() string + func (a *And) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (a *And) String() string + func (a *And) WithChildren(children ...sql.Expression) (sql.Expression, error) + type Arithmetic struct + Op string + func NewArithmetic(left, right sql.Expression, op string) *Arithmetic + func NewBitAnd(left, right sql.Expression) *Arithmetic + func NewBitOr(left, right sql.Expression) *Arithmetic + func NewBitXor(left, right sql.Expression) *Arithmetic + func NewDiv(left, right sql.Expression) *Arithmetic + func NewIncrement(left sql.Expression) *Arithmetic + func NewIntDiv(left, right sql.Expression) *Arithmetic + func NewMinus(left, right sql.Expression) *Arithmetic + func NewMod(left, right sql.Expression) *Arithmetic + func NewMult(left, right sql.Expression) *Arithmetic + func NewPlus(left, right sql.Expression) *Arithmetic + func NewShiftLeft(left, right sql.Expression) *Arithmetic + func NewShiftRight(left, right sql.Expression) *Arithmetic + func (a *Arithmetic) DebugString() string + func (a *Arithmetic) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (a *Arithmetic) IsNullable() bool + func (a *Arithmetic) String() string + func (a *Arithmetic) Type() sql.Type + func (a *Arithmetic) WithChildren(children ...sql.Expression) (sql.Expression, error) + type AutoIncrement struct + func NewAutoIncrement(ctx *sql.Context, table sql.Table, given sql.Expression) (*AutoIncrement, error) + func (i *AutoIncrement) Children() []sql.Expression + func (i *AutoIncrement) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (i *AutoIncrement) IsNullable() bool + func (i *AutoIncrement) String() string + func (i *AutoIncrement) Type() sql.Type + func (i *AutoIncrement) WithChildren(children ...sql.Expression) (sql.Expression, error) + type Between struct + Lower sql.Expression + Upper sql.Expression + Val sql.Expression + func NewBetween(val, lower, upper sql.Expression) *Between + func (*Between) Type() sql.Type + func (b *Between) Children() []sql.Expression + func (b *Between) DebugString() string + func (b *Between) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (b *Between) IsNullable() bool + func (b *Between) Resolved() bool + func (b *Between) String() string + func (b *Between) WithChildren(children ...sql.Expression) (sql.Expression, error) + type Binary struct + func (b *Binary) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (b *Binary) String() string + func (b *Binary) Type() sql.Type + func (b *Binary) WithChildren(children ...sql.Expression) (sql.Expression, error) + type BinaryExpression struct + Left sql.Expression + Right sql.Expression + func (p *BinaryExpression) Children() []sql.Expression + func (p *BinaryExpression) IsNullable() bool + func (p *BinaryExpression) Resolved() bool + type BindVar struct + Name string + func (bv *BindVar) Children() []sql.Expression + func (bv *BindVar) Eval(*sql.Context, sql.Row) (interface{}, error) + func (bv *BindVar) IsNullable() bool + func (bv *BindVar) Resolved() bool + func (bv *BindVar) String() string + func (bv *BindVar) Type() sql.Type + func (bv *BindVar) WithChildren(children ...sql.Expression) (sql.Expression, error) + type Case struct + Branches []CaseBranch + Else sql.Expression + Expr sql.Expression + func NewCase(expr sql.Expression, branches []CaseBranch, elseExpr sql.Expression) *Case + func (c *Case) Children() []sql.Expression + func (c *Case) DebugString() string + func (c *Case) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (c *Case) IsNullable() bool + func (c *Case) Resolved() bool + func (c *Case) String() string + func (c *Case) Type() sql.Type + func (c *Case) WithChildren(children ...sql.Expression) (sql.Expression, error) + type CaseBranch struct + Cond sql.Expression + Value sql.Expression + type Comparer interface + Compare func(ctx *sql.Context, row sql.Row) (int, error) + Left func() sql.Expression + Right func() sql.Expression + type Convert struct + func NewConvert(expr sql.Expression, castToType string) *Convert + func (c *Convert) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (c *Convert) IsNullable() bool + func (c *Convert) String() string + func (c *Convert) Type() sql.Type + func (c *Convert) WithChildren(children ...sql.Expression) (sql.Expression, error) + type DefaultColumn struct + func NewDefaultColumn(name string) *DefaultColumn + func (*DefaultColumn) Children() []sql.Expression + func (*DefaultColumn) Eval(ctx *sql.Context, r sql.Row) (interface{}, error) + func (*DefaultColumn) IsNullable() bool + func (*DefaultColumn) Resolved() bool + func (*DefaultColumn) Type() sql.Type + func (c *DefaultColumn) Name() string + func (c *DefaultColumn) String() string + func (c *DefaultColumn) WithChildren(children ...sql.Expression) (sql.Expression, error) + type DistinctExpression struct + Child sql.Expression + func NewDistinctExpression(e sql.Expression) *DistinctExpression + func (de *DistinctExpression) Children() []sql.Expression + func (de *DistinctExpression) Dispose() + func (de *DistinctExpression) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (de *DistinctExpression) IsNullable() bool + func (de *DistinctExpression) Resolved() bool + func (de *DistinctExpression) String() string + func (de *DistinctExpression) Type() sql.Type + func (de *DistinctExpression) WithChildren(children ...sql.Expression) (sql.Expression, error) + type Equals struct + func NewEquals(left sql.Expression, right sql.Expression) *Equals + func (*Equals) Type() sql.Type + func (c *Equals) Compare(ctx *sql.Context, row sql.Row) (int, error) + func (c *Equals) Left() sql.Expression + func (c *Equals) NullSafeCompare(ctx *sql.Context, row sql.Row) (int, error) + func (c *Equals) Right() sql.Expression + func (e *Equals) DebugString() string + func (e *Equals) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (e *Equals) String() string + func (e *Equals) WithChildren(children ...sql.Expression) (sql.Expression, error) + type GetField struct + func ExtractGetField(e sql.Expression) *GetField + func NewGetField(index int, fieldType sql.Type, fieldName string, nullable bool) *GetField + func NewGetFieldWithTable(index int, fieldType sql.Type, table, fieldName string, nullable bool) *GetField + func (*GetField) Children() []sql.Expression + func (p *GetField) DebugString() string + func (p *GetField) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (p *GetField) Index() int + func (p *GetField) IsNullable() bool + func (p *GetField) Name() string + func (p *GetField) Resolved() bool + func (p *GetField) String() string + func (p *GetField) Table() string + func (p *GetField) Type() sql.Type + func (p *GetField) WithChildren(children ...sql.Expression) (sql.Expression, error) + func (p *GetField) WithIndex(n int) sql.Expression + func (p *GetField) WithName(name string) *GetField + func (p *GetField) WithTable(table string) *GetField + type GreaterThan struct + func NewGreaterThan(left sql.Expression, right sql.Expression) *GreaterThan + func (*GreaterThan) Type() sql.Type + func (c *GreaterThan) Compare(ctx *sql.Context, row sql.Row) (int, error) + func (c *GreaterThan) Left() sql.Expression + func (c *GreaterThan) NullSafeCompare(ctx *sql.Context, row sql.Row) (int, error) + func (c *GreaterThan) Right() sql.Expression + func (gt *GreaterThan) DebugString() string + func (gt *GreaterThan) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (gt *GreaterThan) String() string + func (gt *GreaterThan) WithChildren(children ...sql.Expression) (sql.Expression, error) + type GreaterThanOrEqual struct + func NewGreaterThanOrEqual(left sql.Expression, right sql.Expression) *GreaterThanOrEqual + func (*GreaterThanOrEqual) Type() sql.Type + func (c *GreaterThanOrEqual) Compare(ctx *sql.Context, row sql.Row) (int, error) + func (c *GreaterThanOrEqual) Left() sql.Expression + func (c *GreaterThanOrEqual) NullSafeCompare(ctx *sql.Context, row sql.Row) (int, error) + func (c *GreaterThanOrEqual) Right() sql.Expression + func (gte *GreaterThanOrEqual) DebugString() string + func (gte *GreaterThanOrEqual) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (gte *GreaterThanOrEqual) String() string + func (gte *GreaterThanOrEqual) WithChildren(children ...sql.Expression) (sql.Expression, error) + type HashInTuple struct + func NewHashInTuple(left, right sql.Expression) (*HashInTuple, error) + func (hit *HashInTuple) DebugString() string + func (hit *HashInTuple) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (hit *HashInTuple) String() string + type InTuple struct + func NewInTuple(left sql.Expression, right sql.Expression) *InTuple + func (in *InTuple) Children() []sql.Expression + func (in *InTuple) Compare(ctx *sql.Context, row sql.Row) (int, error) + func (in *InTuple) DebugString() string + func (in *InTuple) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (in *InTuple) Left() sql.Expression + func (in *InTuple) Right() sql.Expression + func (in *InTuple) String() string + func (in *InTuple) Type() sql.Type + func (in *InTuple) WithChildren(children ...sql.Expression) (sql.Expression, error) + type Interval struct + Unit string + func NewInterval(child sql.Expression, unit string) *Interval + func (i *Interval) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (i *Interval) EvalDelta(ctx *sql.Context, row sql.Row) (*TimeDelta, error) + func (i *Interval) IsNullable() bool + func (i *Interval) String() string + func (i *Interval) Type() sql.Type + func (i *Interval) WithChildren(children ...sql.Expression) (sql.Expression, error) + type IsNull struct + func NewIsNull(child sql.Expression) *IsNull + func (e *IsNull) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (e *IsNull) IsNullable() bool + func (e *IsNull) Type() sql.Type + func (e *IsNull) WithChildren(children ...sql.Expression) (sql.Expression, error) + func (e IsNull) DebugString() string + func (e IsNull) String() string + type IsTrue struct + func NewIsFalse(child sql.Expression) *IsTrue + func NewIsTrue(child sql.Expression) *IsTrue + func (*IsTrue) IsNullable() bool + func (*IsTrue) Type() sql.Type + func (e *IsTrue) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (e *IsTrue) String() string + func (e *IsTrue) WithChildren(children ...sql.Expression) (sql.Expression, error) + type LessThan struct + func NewLessThan(left sql.Expression, right sql.Expression) *LessThan + func (*LessThan) Type() sql.Type + func (c *LessThan) Compare(ctx *sql.Context, row sql.Row) (int, error) + func (c *LessThan) Left() sql.Expression + func (c *LessThan) NullSafeCompare(ctx *sql.Context, row sql.Row) (int, error) + func (c *LessThan) Right() sql.Expression + func (lt *LessThan) DebugString() string + func (lt *LessThan) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (lt *LessThan) String() string + func (lt *LessThan) WithChildren(children ...sql.Expression) (sql.Expression, error) + type LessThanOrEqual struct + func NewLessThanOrEqual(left sql.Expression, right sql.Expression) *LessThanOrEqual + func (*LessThanOrEqual) Type() sql.Type + func (c *LessThanOrEqual) Compare(ctx *sql.Context, row sql.Row) (int, error) + func (c *LessThanOrEqual) Left() sql.Expression + func (c *LessThanOrEqual) NullSafeCompare(ctx *sql.Context, row sql.Row) (int, error) + func (c *LessThanOrEqual) Right() sql.Expression + func (lte *LessThanOrEqual) DebugString() string + func (lte *LessThanOrEqual) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (lte *LessThanOrEqual) String() string + func (lte *LessThanOrEqual) WithChildren(children ...sql.Expression) (sql.Expression, error) + type Like struct + func (l *Like) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (l *Like) String() string + func (l *Like) Type() sql.Type + func (l *Like) WithChildren(children ...sql.Expression) (sql.Expression, error) + type Literal struct + func NewLiteral(value interface{}, fieldType sql.Type) *Literal + func (*Literal) Children() []sql.Expression + func (p *Literal) DebugString() string + func (p *Literal) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (p *Literal) IsNullable() bool + func (p *Literal) Resolved() bool + func (p *Literal) String() string + func (p *Literal) Type() sql.Type + func (p *Literal) Value() interface{} + func (p *Literal) WithChildren(children ...sql.Expression) (sql.Expression, error) + type NaryExpression struct + ChildExpressions []sql.Expression + func (n *NaryExpression) Children() []sql.Expression + func (n *NaryExpression) IsNullable() bool + func (n *NaryExpression) Resolved() bool + type Not struct + func NewNot(child sql.Expression) *Not + func (e *Not) DebugString() string + func (e *Not) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (e *Not) String() string + func (e *Not) Type() sql.Type + func (e *Not) WithChildren(children ...sql.Expression) (sql.Expression, error) + type NullSafeEquals struct + func NewNullSafeEquals(left sql.Expression, right sql.Expression) *NullSafeEquals + func (c *NullSafeEquals) Left() sql.Expression + func (c *NullSafeEquals) NullSafeCompare(ctx *sql.Context, row sql.Row) (int, error) + func (c *NullSafeEquals) Right() sql.Expression + func (e *NullSafeEquals) Compare(ctx *sql.Context, row sql.Row) (int, error) + func (e *NullSafeEquals) DebugString() string + func (e *NullSafeEquals) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (e *NullSafeEquals) String() string + func (e *NullSafeEquals) Type() sql.Type + func (e *NullSafeEquals) WithChildren(children ...sql.Expression) (sql.Expression, error) + type NullSafeGreaterThan struct + func NewNullSafeGreaterThan(left sql.Expression, right sql.Expression) *NullSafeGreaterThan + func (*NullSafeGreaterThan) Type() sql.Type + func (c *NullSafeGreaterThan) Compare(ctx *sql.Context, row sql.Row) (int, error) + func (c *NullSafeGreaterThan) Left() sql.Expression + func (c *NullSafeGreaterThan) NullSafeCompare(ctx *sql.Context, row sql.Row) (int, error) + func (c *NullSafeGreaterThan) Right() sql.Expression + func (gt *NullSafeGreaterThan) DebugString() string + func (gt *NullSafeGreaterThan) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (gt *NullSafeGreaterThan) String() string + func (gt *NullSafeGreaterThan) WithChildren(children ...sql.Expression) (sql.Expression, error) + type NullSafeGreaterThanOrEqual struct + func NewNullSafeGreaterThanOrEqual(left sql.Expression, right sql.Expression) *NullSafeGreaterThanOrEqual + func (*NullSafeGreaterThanOrEqual) Type() sql.Type + func (c *NullSafeGreaterThanOrEqual) Compare(ctx *sql.Context, row sql.Row) (int, error) + func (c *NullSafeGreaterThanOrEqual) Left() sql.Expression + func (c *NullSafeGreaterThanOrEqual) NullSafeCompare(ctx *sql.Context, row sql.Row) (int, error) + func (c *NullSafeGreaterThanOrEqual) Right() sql.Expression + func (gte *NullSafeGreaterThanOrEqual) DebugString() string + func (gte *NullSafeGreaterThanOrEqual) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (gte *NullSafeGreaterThanOrEqual) String() string + func (gte *NullSafeGreaterThanOrEqual) WithChildren(children ...sql.Expression) (sql.Expression, error) + type NullSafeLessThan struct + func NewNullSafeLessThan(left sql.Expression, right sql.Expression) *NullSafeLessThan + func (*NullSafeLessThan) Type() sql.Type + func (c *NullSafeLessThan) Compare(ctx *sql.Context, row sql.Row) (int, error) + func (c *NullSafeLessThan) Left() sql.Expression + func (c *NullSafeLessThan) NullSafeCompare(ctx *sql.Context, row sql.Row) (int, error) + func (c *NullSafeLessThan) Right() sql.Expression + func (lt *NullSafeLessThan) DebugString() string + func (lt *NullSafeLessThan) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (lt *NullSafeLessThan) String() string + func (lt *NullSafeLessThan) WithChildren(children ...sql.Expression) (sql.Expression, error) + type NullSafeLessThanOrEqual struct + func NewNullSafeLessThanOrEqual(left sql.Expression, right sql.Expression) *NullSafeLessThanOrEqual + func (*NullSafeLessThanOrEqual) Type() sql.Type + func (c *NullSafeLessThanOrEqual) Compare(ctx *sql.Context, row sql.Row) (int, error) + func (c *NullSafeLessThanOrEqual) Left() sql.Expression + func (c *NullSafeLessThanOrEqual) NullSafeCompare(ctx *sql.Context, row sql.Row) (int, error) + func (c *NullSafeLessThanOrEqual) Right() sql.Expression + func (lte *NullSafeLessThanOrEqual) DebugString() string + func (lte *NullSafeLessThanOrEqual) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (lte *NullSafeLessThanOrEqual) String() string + func (lte *NullSafeLessThanOrEqual) WithChildren(children ...sql.Expression) (sql.Expression, error) + type Or struct + func (*Or) Type() sql.Type + func (o *Or) DebugString() string + func (o *Or) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (o *Or) String() string + func (o *Or) WithChildren(children ...sql.Expression) (sql.Expression, error) + type ProcedureParam struct + func NewProcedureParam(name string) *ProcedureParam + func (*ProcedureParam) Children() []sql.Expression + func (*ProcedureParam) IsNullable() bool + func (*ProcedureParam) Resolved() bool + func (pp *ProcedureParam) Eval(ctx *sql.Context, r sql.Row) (interface{}, error) + func (pp *ProcedureParam) Name() string + func (pp *ProcedureParam) Set(val interface{}, valType sql.Type) error + func (pp *ProcedureParam) String() string + func (pp *ProcedureParam) Type() sql.Type + func (pp *ProcedureParam) WithChildren(children ...sql.Expression) (sql.Expression, error) + func (pp *ProcedureParam) WithParamReference(pRef *ProcedureParamReference) *ProcedureParam + type ProcedureParamReference struct + func NewProcedureParamReference() *ProcedureParamReference + func (ppr *ProcedureParamReference) Get(name string) (interface{}, error) + func (ppr *ProcedureParamReference) GetType(name string) sql.Type + func (ppr *ProcedureParamReference) HasBeenSet(name string) bool + func (ppr *ProcedureParamReference) Initialize(name string, sqlType sql.Type, val interface{}) error + func (ppr *ProcedureParamReference) Set(name string, val interface{}, valType sql.Type) error + type Regexp struct + func NewRegexp(left sql.Expression, right sql.Expression) *Regexp + func (*Regexp) Type() sql.Type + func (c *Regexp) Compare(ctx *sql.Context, row sql.Row) (int, error) + func (c *Regexp) Left() sql.Expression + func (c *Regexp) NullSafeCompare(ctx *sql.Context, row sql.Row) (int, error) + func (c *Regexp) Right() sql.Expression + func (re *Regexp) DebugString() string + func (re *Regexp) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (re *Regexp) String() string + func (re *Regexp) WithChildren(children ...sql.Expression) (sql.Expression, error) + type SetField struct + func (s *SetField) DebugString() string + func (s *SetField) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (s *SetField) String() string + func (s *SetField) Type() sql.Type + func (s *SetField) WithChildren(children ...sql.Expression) (sql.Expression, error) + type Sorter struct + Ctx *sql.Context + LastError error + Rows []sql.Row + SortFields []sql.SortField + func (s *Sorter) Len() int + func (s *Sorter) Less(i, j int) bool + func (s *Sorter) Swap(i, j int) + type Star struct + Table string + func NewQualifiedStar(table string) *Star + func NewStar() *Star + func (*Star) Children() []sql.Expression + func (*Star) Eval(ctx *sql.Context, r sql.Row) (interface{}, error) + func (*Star) IsNullable() bool + func (*Star) Resolved() bool + func (*Star) Type() sql.Type + func (s *Star) String() string + func (s *Star) WithChildren(children ...sql.Expression) (sql.Expression, error) + type SystemVar struct + Name string + Scope sql.SystemVariableScope + func NewSystemVar(name string, scope sql.SystemVariableScope) *SystemVar + func (v *SystemVar) Children() []sql.Expression + func (v *SystemVar) Eval(ctx *sql.Context, _ sql.Row) (interface{}, error) + func (v *SystemVar) IsNullable() bool + func (v *SystemVar) Resolved() bool + func (v *SystemVar) String() string + func (v *SystemVar) Type() sql.Type + func (v *SystemVar) WithChildren(children ...sql.Expression) (sql.Expression, error) + type TimeDelta struct + Days int64 + Hours int64 + Microseconds int64 + Minutes int64 + Months int64 + Seconds int64 + Years int64 + func (td TimeDelta) Add(t time.Time) time.Time + func (td TimeDelta) Sub(t time.Time) time.Time + type TopRowsHeap struct + func (h *TopRowsHeap) Less(i, j int) bool + func (h *TopRowsHeap) Pop() interface{} + func (h *TopRowsHeap) Push(x interface{}) + func (h *TopRowsHeap) Rows() ([]sql.Row, error) + type TransformExprWithNodeFunc func(sql.Node, sql.Expression) (sql.Expression, error) + type Tuple []sql.Expression + func NewTuple(exprs ...sql.Expression) Tuple + func (t Tuple) Children() []sql.Expression + func (t Tuple) DebugString() string + func (t Tuple) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (t Tuple) IsNullable() bool + func (t Tuple) Resolved() bool + func (t Tuple) String() string + func (t Tuple) Type() sql.Type + func (t Tuple) WithChildren(children ...sql.Expression) (sql.Expression, error) + type UnaryExpression struct + Child sql.Expression + func (p *UnaryExpression) Children() []sql.Expression + func (p *UnaryExpression) IsNullable() bool + func (p *UnaryExpression) Resolved() bool + type UnaryMinus struct + func NewUnaryMinus(child sql.Expression) *UnaryMinus + func (e *UnaryMinus) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (e *UnaryMinus) String() string + func (e *UnaryMinus) Type() sql.Type + func (e *UnaryMinus) WithChildren(children ...sql.Expression) (sql.Expression, error) + type UnresolvedColumn struct + func NewUnresolvedColumn(name string) *UnresolvedColumn + func NewUnresolvedQualifiedColumn(table, name string) *UnresolvedColumn + func (*UnresolvedColumn) Children() []sql.Expression + func (*UnresolvedColumn) Eval(ctx *sql.Context, r sql.Row) (interface{}, error) + func (*UnresolvedColumn) IsNullable() bool + func (*UnresolvedColumn) Resolved() bool + func (*UnresolvedColumn) Type() sql.Type + func (uc *UnresolvedColumn) Name() string + func (uc *UnresolvedColumn) String() string + func (uc *UnresolvedColumn) Table() string + func (uc *UnresolvedColumn) WithChildren(children ...sql.Expression) (sql.Expression, error) + type UnresolvedFunction struct + Arguments []sql.Expression + IsAggregate bool + Window *sql.Window + func NewUnresolvedFunction(name string, agg bool, window *sql.Window, arguments ...sql.Expression) *UnresolvedFunction + func (*UnresolvedFunction) Eval(ctx *sql.Context, r sql.Row) (interface{}, error) + func (*UnresolvedFunction) IsNullable() bool + func (*UnresolvedFunction) Resolved() bool + func (*UnresolvedFunction) Type() sql.Type + func (uf *UnresolvedFunction) Children() []sql.Expression + func (uf *UnresolvedFunction) DebugString() string + func (uf *UnresolvedFunction) Name() string + func (uf *UnresolvedFunction) String() string + func (uf *UnresolvedFunction) WithChildren(children ...sql.Expression) (sql.Expression, error) + type UserVar struct + Name string + func NewUserVar(name string) *UserVar + func (v *UserVar) Children() []sql.Expression + func (v *UserVar) Eval(ctx *sql.Context, _ sql.Row) (interface{}, error) + func (v *UserVar) IsNullable() bool + func (v *UserVar) Resolved() bool + func (v *UserVar) String() string + func (v *UserVar) Type() sql.Type + func (v *UserVar) WithChildren(children ...sql.Expression) (sql.Expression, error) + type Wrapper struct + func WrapExpression(expr sql.Expression) *Wrapper + func (w *Wrapper) Children() []sql.Expression + func (w *Wrapper) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) + func (w *Wrapper) IsNullable() bool + func (w *Wrapper) Resolved() bool + func (w *Wrapper) String() string + func (w *Wrapper) Type() sql.Type + func (w *Wrapper) Unwrap() sql.Expression + func (w *Wrapper) WithChildren(children ...sql.Expression) (sql.Expression, error)