v.io: v.io/v23/query/engine/internal/querychecker Index | Files

package querychecker

import "v.io/v23/query/engine/internal/querychecker"

Package querychecker performs a semantic check on an AST produced by the queryparser package.

For the foreseeasble future, only SelectStatements are supported. The following clauses are checked sequentially, SelectClause FromClause WhereClause (optional) LimitClause (optional) ResultsOffsetClause (optional)


Package Files

doc.go query_checker.go


const (
    MaxRangeLimit = ""


var (
    StringFieldRangeAll = ds.StringFieldRange{Start: "", Limit: MaxRangeLimit}

func Check Uses

func Check(db ds.Database, s *queryparser.Statement) error

func CompileIndexRanges Uses

func CompileIndexRanges(idxField *queryparser.Field, kind vdl.Kind, where *queryparser.WhereClause) *ds.IndexRanges

Compute a list of secondary index ranges to optionally be used by query's Table.Scan.

func ContainsFieldOperand Uses

func ContainsFieldOperand(f *queryparser.Field, expr *queryparser.Expression) bool

func ContainsFunctionOperand Uses

func ContainsFunctionOperand(expr *queryparser.Expression) bool

func ContainsKeyOperand Uses

func ContainsKeyOperand(expr *queryparser.Expression) bool

func ContainsValueFieldOperand Uses

func ContainsValueFieldOperand(expr *queryparser.Expression) bool

func IsExactField Uses

func IsExactField(f *queryparser.Field, o *queryparser.Operand) bool

func IsExpr Uses

func IsExpr(o *queryparser.Operand) bool

func IsField Uses

func IsField(o *queryparser.Operand) bool

func IsFunction Uses

func IsFunction(o *queryparser.Operand) bool

func IsKey Uses

func IsKey(o *queryparser.Operand) bool

func IsKeyField Uses

func IsKeyField(f *queryparser.Field) bool

func IsLogicalOperator Uses

func IsLogicalOperator(o *queryparser.BinaryOperator) bool

func IsValueField Uses

func IsValueField(f *queryparser.Field) bool

Package querychecker imports 7 packages (graph) and is imported by 2 packages. Updated 2020-10-29. Refresh now. Tools for package owners.