Documentation ¶
Index ¶
- func NewQuery(n Node) queries.Query
- type AccessStrategy
- type JoinStrategy
- type Node
- func NewAccess(strategy AccessStrategy) Node
- func NewExplain(n Node, fields []fields.Field) Node
- func NewFilter(node Node, filter impls.Expression) Node
- func NewGroup(node Node, groupExpressions []impls.Expression, ...) Node
- func NewJoin(left, right Node, filter impls.Expression, fields []fields.Field, ...) Node
- func NewLimit(node Node, limit int) Node
- func NewOffset(node Node, offset int) Node
- func NewOrder(node Node, order impls.OrderExpression, fields []fields.Field) Node
- func NewProjection(node Node, projection *projection.Projection) Node
- func NewValues(fields []fields.Field, expressions [][]impls.Expression) Node
- type NodeQuery
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AccessStrategy ¶
type AccessStrategy interface { Serialize(w serialization.IndentWriter) Filter() impls.Expression Ordering() impls.OrderExpression Scanner(ctx impls.ExecutionContext) (scan.RowScanner, error) }
type JoinStrategy ¶
type JoinStrategy interface { Name() string Scanner(ctx impls.ExecutionContext) (scan.RowScanner, error) }
type Node ¶
type Node interface { serialization.Serializable Scanner(ctx impls.ExecutionContext) (scan.RowScanner, error) }
func NewAccess ¶
func NewAccess(strategy AccessStrategy) Node
func NewGroup ¶
func NewGroup(node Node, groupExpressions []impls.Expression, projection *projection.Projection) Node
func NewJoin ¶
func NewJoin(left, right Node, filter impls.Expression, fields []fields.Field, strategy JoinStrategy) Node
func NewProjection ¶
func NewProjection(node Node, projection *projection.Projection) Node
type NodeQuery ¶
type NodeQuery struct {
Node
}
func (*NodeQuery) Execute ¶
func (q *NodeQuery) Execute(ctx impls.ExecutionContext, w protocol.ResponseWriter)
Source Files ¶
Click to show internal directories.
Click to hide internal directories.