Documentation
¶
Index ¶
- Constants
- type Column
- type Create
- type Drop
- type Evaluator
- type Expression
- type FromItem
- type Func
- type Index
- type Insert
- type Join
- type JoinType
- type OrderBy
- type OutputExpression
- type Row
- type RowIterator
- type Schema
- type SchemaColumn
- type Select
- type SelectExpression
- type SetOp
- type SetOpType
- type Source
- type TableRef
- type Values
- type View
- type With
Constants ¶
View Source
const ( InnerJoin = JoinType(iota) LeftJoin OuterJoin RightJoin )
View Source
const ( Union = SetOpType(iota) Intersect Except )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Evaluator ¶
type Evaluator struct {
// TODO want functions that can return ([][]colval.ColumnValue,error)
Func func(map[string]colval.ColumnValue) colval.ColumnValue
Inputs map[string]struct{}
}
type Expression ¶
type OutputExpression ¶
type OutputExpression struct {
Expression SelectExpression `json:",omitempty"`
Alias string `json:",omitempty"`
}
type RowIterator ¶
type Schema ¶
type Schema struct {
Name string `json:",omitempty"`
Sources map[string]*Schema `json:",omitempty"` // functions/tables
Columns []SchemaColumn `json:",omitempty"`
PrimaryKey []string `json:",omitempty"`
}
type SchemaColumn ¶
type Select ¶
type Select struct {
Create *Create `json:",omitempty"`
With []With `json:",omitempty"` // TODO generalize With,Values,Tables to FromItems
Expressions []OutputExpression `json:",omitempty"`
FromItems []FromItem `json:",omitempty"`
Values *Values `json:",omitempty"`
Where *Evaluator `json:",omitempty"`
Join []Join `json:",omitempty"`
SetOp *SetOp `json:",omitempty"`
OrderBy []OrderBy `json:",omitempty"`
Limit *int64 `json:",omitempty"`
Offset *int64 `json:",omitempty"`
Schema Schema `json:",omitempty"`
Errors []error // schema errors
}
type SelectExpression ¶
type Source ¶
type Source struct {
RowIterator func() RowIterator
Schema func() Schema
}
Click to show internal directories.
Click to hide internal directories.