parser

package
v0.0.0-...-c9c7940 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 20, 2023 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ErrUnsupportedExpr

func ErrUnsupportedExpr(op string) error

func SplitBy

func SplitBy(expr sqlparser.Expr, filter ExprFilter) (bool, sqlparser.Expr, error)

func SplitByOr

func SplitByOr(expr sqlparser.Expr) ([]sqlparser.Expr, error)

func SplitByTableName

func SplitByTableName(expr sqlparser.Expr, tableName, tableAs string) (sqlparser.Expr, error)

func ToFilter

func ToFilter(ctx FilterContext, expr sqlparser.Expr) (func(vm.Context) (bool, error), error)

func ToFuncGetValue

func ToFuncGetValue(ctx FilterContext, expr *sqlparser.FuncExpr) (func(vm.Context) (vm.Value, error), error)

func ToGetSelectValue

func ToGetSelectValue(ctx FilterContext, expr sqlparser.SelectExpr) (func(vm.Context) (vm.Value, error), error)

func ToGetValue

func ToGetValue(ctx FilterContext, expr sqlparser.Expr) (func(vm.Context) (vm.Value, error), error)

func ToGetValues

func ToGetValues(fctx FilterContext, expr sqlparser.SQLNode) (func(vm.Context) ([]vm.Value, error), error)

func ToKeyValue

func ToKeyValue(fctx FilterContext, colName *sqlparser.ColName, expr sqlparser.Expr) (string, string, string, error)

func ToKeyValueArray

func ToKeyValueArray(ctx vm.Context, iter KeyValueIterator) ([][]memcore.KeyValue, error)

Types

type ExprFilter

type ExprFilter struct {
	// contains filtered or unexported fields
}

func ByTable

func ByTable(tableName, tableAs string) ExprFilter

func ByTableTag

func ByTableTag(tableAs TableAlias) ExprFilter

func ByTag

func ByTag() ExprFilter

func (*ExprFilter) TableFilter

func (ef *ExprFilter) TableFilter()

type FilterContext

type FilterContext interface {
	GetQuery(name string) (*memcore.ReferenceQuery, bool)
	SetResultSet(stmt string, records []memcore.Record)
	GetResultSet(stmt string) ([]memcore.Record, bool)
	ExecuteSelect(sel sqlparser.SelectStatement) (memcore.Query, error)
}

type KeyValueIterator

type KeyValueIterator interface {
	Next(ctx vm.Context) ([]memcore.KeyValue, error)
}

func ToEqualValues

func ToEqualValues(fctx FilterContext, expr *sqlparser.ComparisonExpr, qualifier TableAlias) (KeyValueIterator, error)

func ToKeyValues

func ToKeyValues(fctx FilterContext, expr sqlparser.Expr, alias TableAlias, results KeyValueIterator) (KeyValueIterator, error)

type StringIterator

type StringIterator interface {
	Next(ctx vm.Context) (string, error)
}

func ToValueLiteral

func ToValueLiteral(fctx FilterContext, expr sqlparser.Expr) (StringIterator, error)

type TableAlias

type TableAlias = memcore.TableAlias

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL