Documentation
¶
Index ¶
- type CreateIndex
- type DropIndex
- type EliminateDuplicates
- type Explain
- type FastCount
- type Fetch
- type Filter
- type Grouper
- type KeyJoin
- type KeyScan
- type Limit
- type Offset
- type Order
- type Plan
- type PlanChannel
- type PlanElement
- type Projector
- type ProjectorInline
- type Scan
- type ScanRange
- type ScanRanges
- type Unnest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CreateIndex ¶
type CreateIndex struct { Type string `json:"type"` Pool string `json:"pool"` Bucket string `json:"bucket"` Name string `json:"name"` IndexType string `json:"index_type"` Primary bool `json:"primary"` On ast.ExpressionList `json:"on"` }
func NewCreateIndex ¶
func NewCreateIndex(pool string, bucket string, name string, index_type string, primary bool, on ast.ExpressionList) *CreateIndex
func (*CreateIndex) Sources ¶
func (this *CreateIndex) Sources() []PlanElement
type DropIndex ¶
type DropIndex struct { Type string `json:"type"` Pool string `json:"pool"` Bucket string `json:"bucket"` Name string `json:"name"` }
func (*DropIndex) Sources ¶
func (this *DropIndex) Sources() []PlanElement
type EliminateDuplicates ¶
type EliminateDuplicates struct { Type string `json:"type"` Input PlanElement `json:"input"` }
func NewEliminateDuplicates ¶
func NewEliminateDuplicates(input PlanElement) *EliminateDuplicates
func (*EliminateDuplicates) Sources ¶
func (this *EliminateDuplicates) Sources() []PlanElement
type Explain ¶
type Explain struct { Type string `json:"type"` Input PlanElement `json:"input"` }
func NewExplain ¶
func NewExplain(input PlanElement) *Explain
func (*Explain) Sources ¶
func (this *Explain) Sources() []PlanElement
type FastCount ¶ added in v0.6.0
type FastCount struct { Type string `json:"type"` CountIndex string `json:"index"` Bucket string `json:"bucket"` Pool string `json:"pool"` Ranges ScanRanges `json:"ranges"` Expr ast.Expression `json:"expr"` }
func NewFastCount ¶ added in v0.6.0
func NewFastCount(pool string, bucket string, index string, expr ast.Expression, ranges ScanRanges) *FastCount
func (*FastCount) Sources ¶ added in v0.6.0
func (this *FastCount) Sources() []PlanElement
type Fetch ¶
type Fetch struct { Type string `json:"type"` Input PlanElement `json:"input"` Bucket string `json:"bucket"` Pool string `json:"pool"` Projection ast.Expression `json:"projection"` As string `json:"as"` Ids []string `json:"ids"` }
func NewFetch ¶
func NewFetch(input PlanElement, pool string, bucket string, projection ast.Expression, as string) *Fetch
func (*Fetch) ConvertToIds ¶ added in v0.6.0
func (*Fetch) Sources ¶
func (this *Fetch) Sources() []PlanElement
type Filter ¶
type Filter struct { Type string `json:"type"` Input PlanElement `json:"input"` Expr ast.Expression `json:"expr"` }
func NewFilter ¶
func NewFilter(input PlanElement, expr ast.Expression) *Filter
func (*Filter) Sources ¶
func (this *Filter) Sources() []PlanElement
type Grouper ¶
type Grouper struct { Type string `json:"type"` Input PlanElement `json:"input"` Group ast.ExpressionList `json:"group"` Aggregates ast.ExpressionList `json:"aggregates"` }
func NewGroup ¶
func NewGroup(input PlanElement, group ast.ExpressionList, agg ast.ExpressionList) *Grouper
func (*Grouper) Sources ¶
func (this *Grouper) Sources() []PlanElement
type KeyJoin ¶ added in v0.7.0
type KeyJoin struct { Type string `json:"type"` Input PlanElement `json:"input"` Pool string `json:"pool"` Bucket string `json:"bucket"` Projection ast.Expression `json:"projection"` JoinType string `json:"jointype"` Oper string `json:"operator"` Keys ast.KeyExpression `json:"keys"` As string `json:"as"` }
func NewKeyJoin ¶ added in v0.7.0
func NewKeyJoin(input PlanElement, pool string, bucket string, projection ast.Expression, joinType string, oper string, keys ast.KeyExpression, as string) *KeyJoin
func (*KeyJoin) Sources ¶ added in v0.7.0
func (this *KeyJoin) Sources() []PlanElement
type KeyScan ¶ added in v0.7.0
func NewKeyScan ¶ added in v0.7.0
func (*KeyScan) Sources ¶ added in v0.7.0
func (this *KeyScan) Sources() []PlanElement
type Limit ¶
type Limit struct { Type string `json:"type"` Input PlanElement `json:"input"` Val int `json:"value"` }
func NewLimit ¶
func NewLimit(input PlanElement, limit int) *Limit
func (*Limit) Sources ¶
func (this *Limit) Sources() []PlanElement
type Offset ¶
type Offset struct { Type string `json:"type"` Input PlanElement `json:"input"` Val int `json:"value"` }
func NewOffset ¶
func NewOffset(input PlanElement, offset int) *Offset
func (*Offset) Sources ¶
func (this *Offset) Sources() []PlanElement
type Order ¶
type Order struct { Type string `json:"type"` Input PlanElement `json:"input"` Sort []*ast.SortExpression `json:"sort"` ExplicitAliases []string `json:"explicit_aliases"` }
func NewOrder ¶
func NewOrder(input PlanElement, sort []*ast.SortExpression, explicitAliases []string) *Order
func (*Order) Sources ¶
func (this *Order) Sources() []PlanElement
type Plan ¶
type Plan struct {
Root PlanElement `json:"root"`
}
type PlanChannel ¶
type PlanChannel chan Plan
type PlanElement ¶
type PlanElement interface {
Sources() []PlanElement
}
type Projector ¶
type Projector struct { Type string `json:"type"` Input PlanElement `json:"input"` Result ast.ResultExpressionList `json:"result"` ProjectEmpty bool `json:"-"` }
func NewProjector ¶
func NewProjector(input PlanElement, result ast.ResultExpressionList, projectEmpty bool) *Projector
func (*Projector) Sources ¶
func (this *Projector) Sources() []PlanElement
type ProjectorInline ¶
type ProjectorInline struct { Type string `json:"type"` Input PlanElement `json:"input"` Result *ast.ResultExpression `json:"result"` }
func NewProjectorInline ¶
func NewProjectorInline(input PlanElement, result *ast.ResultExpression) *ProjectorInline
func (*ProjectorInline) Sources ¶
func (this *ProjectorInline) Sources() []PlanElement
type Scan ¶
type Scan struct { Type string `json:"type"` ScanIndex string `json:"index"` Bucket string `json:"bucket"` Pool string `json:"pool"` Ranges ScanRanges `json:"ranges"` Cover bool `json:"cover"` As string `json:"as"` }
func (*Scan) Sources ¶
func (this *Scan) Sources() []PlanElement
type ScanRange ¶
type ScanRange struct { Low catalog.LookupValue High catalog.LookupValue Inclusion catalog.RangeInclusion Limit int64 }
func (*ScanRange) IsSubsetOf ¶ added in v0.6.0
func (ScanRange) MarshalJSON ¶
type ScanRanges ¶
type ScanRanges []*ScanRange
func (ScanRanges) String ¶ added in v0.6.0
func (sr ScanRanges) String() string
type Unnest ¶ added in v0.7.0
type Unnest struct { Type string `json:"type"` Input PlanElement `json:"input"` Over ast.Expression `json:"over"` JoinType string `json:"jointype"` As string `json:"as"` }
func NewUnnest ¶ added in v0.7.0
func NewUnnest(input PlanElement, over ast.Expression, jointype string, as string) *Unnest
func (*Unnest) Sources ¶ added in v0.7.0
func (this *Unnest) Sources() []PlanElement
Click to show internal directories.
Click to hide internal directories.