Documentation ¶
Index ¶
- func CanFastCountBucket(resultExprList ast.ResultExpressionList) bool
- func CanFastCountIndex(index catalog.CountIndex, bucket string, ...) ast.Expression
- func CanIUseThisIndexForThisProjectionNoWhereNoGroupClause(index catalog.RangeIndex, resultExprList ast.ResultExpressionList, ...) (bool, plan.ScanRanges, ast.Expression, error)
- func CanIUseThisIndexForThisWhereClause(index catalog.RangeIndex, where ast.Expression, bucket string) (bool, plan.ScanRanges, ast.Expression, error)
- func DoesIndexCoverStatement(index catalog.RangeIndex, stmt *ast.SelectStatement) bool
- func IndexKeyInFormalNotation(key catalog.IndexKey, bucket string) (catalog.IndexKey, error)
- func MergeRanges(origr plan.ScanRanges, newr *plan.ScanRange) plan.ScanRanges
- func WhereClauseFindById(where ast.Expression) []string
- type ExpressionSargable
- type SimplePlanner
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CanFastCountBucket ¶ added in v0.6.0
func CanFastCountBucket(resultExprList ast.ResultExpressionList) bool
func CanFastCountIndex ¶ added in v0.6.0
func CanFastCountIndex(index catalog.CountIndex, bucket string, resultExprList ast.ResultExpressionList) ast.Expression
func CanIUseThisIndexForThisProjectionNoWhereNoGroupClause ¶ added in v0.6.0
func CanIUseThisIndexForThisProjectionNoWhereNoGroupClause(index catalog.RangeIndex, resultExprList ast.ResultExpressionList, bucket string) (bool, plan.ScanRanges, ast.Expression, error)
func CanIUseThisIndexForThisWhereClause ¶
func CanIUseThisIndexForThisWhereClause(index catalog.RangeIndex, where ast.Expression, bucket string) (bool, plan.ScanRanges, ast.Expression, error)
func DoesIndexCoverStatement ¶ added in v0.6.0
func DoesIndexCoverStatement(index catalog.RangeIndex, stmt *ast.SelectStatement) bool
func MergeRanges ¶ added in v0.6.0
func MergeRanges(origr plan.ScanRanges, newr *plan.ScanRange) plan.ScanRanges
func WhereClauseFindById ¶ added in v0.6.0
func WhereClauseFindById(where ast.Expression) []string
Types ¶
type ExpressionSargable ¶
type ExpressionSargable struct {
// contains filtered or unexported fields
}
determines if the given expression is sargable with respect to a given index expression for example is abv > 7 sargable with respect to an index on abv? yes
func NewExpressionSargable ¶
func NewExpressionSargable(indexExpression ast.Expression) *ExpressionSargable
func (*ExpressionSargable) IsSargable ¶
func (this *ExpressionSargable) IsSargable() bool
func (*ExpressionSargable) ScanRanges ¶
func (this *ExpressionSargable) ScanRanges() plan.ScanRanges
func (*ExpressionSargable) Visit ¶
func (this *ExpressionSargable) Visit(e ast.Expression) (ast.Expression, error)
type SimplePlanner ¶
type SimplePlanner struct {
// contains filtered or unexported fields
}
func NewSimplePlanner ¶
func NewSimplePlanner(site catalog.Site, defaultPool string) *SimplePlanner
func (*SimplePlanner) Plan ¶
func (this *SimplePlanner) Plan(stmt ast.Statement) (plan.PlanChannel, query.ErrorChannel)
Click to show internal directories.
Click to hide internal directories.