Documentation
¶
Index ¶
- Constants
- func ExecuteGroupBy(ec *SessionContext, query memcore.Query, groupBy sqlparser.GroupBy) (memcore.Query, error)
- func ExecuteHaving(ec *SessionContext, query memcore.Query, having *sqlparser.Where) (memcore.Query, error)
- func ExecuteLimit(ec *SessionContext, query memcore.Query, limit *sqlparser.Limit) (memcore.Query, error)
- func ExecuteOrderBy(ec *SessionContext, query memcore.Query, orderBy sqlparser.OrderBy) (memcore.Query, error)
- func ExecuteSelect(ec *SessionContext, stmt *sqlparser.Select, hasJoin bool) (memcore.Query, error)
- func ExecuteSelectExprs(ec *SessionContext, query memcore.Query, selectExprs sqlparser.SelectExprs) (memcore.Query, error)
- func ExecuteSelectStatement(ec *SessionContext, stmt sqlparser.SelectStatement, hasJoin bool) (memcore.Query, error)
- func ExecuteTable(ec *SessionContext, ds Datasource, where *sqlparser.Where, hasJoin bool) (memcore.Query, error)
- func ExecuteUnion(ec *SessionContext, stmt *sqlparser.Union, hasJoin bool) (memcore.Query, error)
- func ExecuteWhere(ec *SessionContext, query memcore.Query, expr sqlparser.Expr) (memcore.Query, error)
- func ParseJoinOn(ctx *SessionContext, on sqlparser.Expr) (leftAs string, left func(memcore.Record) (memcore.Value, error), ...)
- func ParseParenTableExpression(ec *SessionContext, expr *sqlparser.ParenTableExpr, where *sqlparser.Where) (memcore.Query, error)
- func RenameTableToAlias(alias string) func(memcore.Context, memcore.Record) (memcore.Record, error)
- func ToRecordValuer(r *memcore.Record, withQualifier bool) vm.GetValuer
- type Column
- type Context
- type Datasource
- func ExecuteAliasedTableExpression(ec *SessionContext, expr *sqlparser.AliasedTableExpr, where *sqlparser.Where, ...) (Datasource, memcore.Query, error)
- func ExecuteJoinTableExpression(ec *SessionContext, expr *sqlparser.JoinTableExpr, where *sqlparser.Where) (Datasource, memcore.Query, error)
- func ExecuteTableExpression(ec *SessionContext, expr sqlparser.TableExpr, where *sqlparser.Where, ...) (Datasource, memcore.Query, error)
- type ExecuteTracer
- func (d *ExecuteTracer) Format(formater Formater)
- func (d *ExecuteTracer) NewTable(table, as string, expr sqlparser.Expr) *TableTracer
- func (d *ExecuteTracer) ReadError(tableName string, tags []memcore.KeyValue, err error)
- func (d *ExecuteTracer) ReadOk(tableName string, tags []memcore.KeyValue, value interface{})
- func (d *ExecuteTracer) ReadSkip(tableName string, tags []memcore.KeyValue)
- func (d *ExecuteTracer) String() string
- func (d *ExecuteTracer) Track(query memcore.Query) memcore.Query
- type Foreign
- type ForeignQuery
- type Formater
- type HookStorage
- func (hs *HookStorage) EnsureTables(ctx *SessionContext, tableName TableAlias, iterator parser.KeyValueIterator) error
- func (hs *HookStorage) From(ctx *SessionContext, tableName TableAlias, tableExpr sqlparser.Expr, ...) (memcore.Query, error)
- func (hs *HookStorage) GetPredateLimit(ctx *SessionContext) time.Time
- type KeyValue
- type ReadFunc
- type ReadInfo
- type Record
- type RecordSet
- type SessionContext
- func (session *SessionContext) Close() error
- func (sc *SessionContext) ExecuteSelect(stmt sqlparser.SelectStatement) (memcore.Query, error)
- func (sc *SessionContext) GetQuery(name string) (*memcore.ReferenceQuery, bool)
- func (sc *SessionContext) GetResultSet(stmt string) ([]memcore.Record, bool)
- func (session *SessionContext) Init() error
- func (sc *SessionContext) OnClosing(closers ...io.Closer)
- func (sc *SessionContext) OnIniting(cb func() error)
- func (sc *SessionContext) SetResultSet(stmt string, records []memcore.Record)
- type Storage
- type StrFormater
- type Table
- type TableAlias
- type TableContext
- type TableName
- type TableQuery
- type TableTracer
- type Value
Constants ¶
View Source
const ( ReadSkip = 0 ReadOk = 1 ReadError = 2 )
Variables ¶
This section is empty.
Functions ¶
func ExecuteGroupBy ¶
func ExecuteHaving ¶
func ExecuteLimit ¶
func ExecuteOrderBy ¶
func ExecuteSelect ¶
func ExecuteSelectExprs ¶
func ExecuteSelectExprs(ec *SessionContext, query memcore.Query, selectExprs sqlparser.SelectExprs) (memcore.Query, error)
func ExecuteSelectStatement ¶
func ExecuteSelectStatement(ec *SessionContext, stmt sqlparser.SelectStatement, hasJoin bool) (memcore.Query, error)
func ExecuteTable ¶
func ExecuteTable(ec *SessionContext, ds Datasource, where *sqlparser.Where, hasJoin bool) (memcore.Query, error)
func ExecuteUnion ¶
func ExecuteWhere ¶
func ParseJoinOn ¶
func ParseParenTableExpression ¶
func ParseParenTableExpression(ec *SessionContext, expr *sqlparser.ParenTableExpr, where *sqlparser.Where) (memcore.Query, error)
func RenameTableToAlias ¶
Types ¶
type Context ¶
type Context struct {
Ctx context.Context
Debuger ExecuteTracer
Storage Storage
Foreign Foreign
}
type Datasource ¶
func ExecuteAliasedTableExpression ¶
func ExecuteAliasedTableExpression(ec *SessionContext, expr *sqlparser.AliasedTableExpr, where *sqlparser.Where, hasJoin bool) (Datasource, memcore.Query, error)
func ExecuteJoinTableExpression ¶
func ExecuteJoinTableExpression(ec *SessionContext, expr *sqlparser.JoinTableExpr, where *sqlparser.Where) (Datasource, memcore.Query, error)
func ExecuteTableExpression ¶
func ExecuteTableExpression(ec *SessionContext, expr sqlparser.TableExpr, where *sqlparser.Where, hasJoin bool) (Datasource, memcore.Query, error)
type ExecuteTracer ¶
type ExecuteTracer struct {
Results []string
Reads map[string][]ReadInfo
// contains filtered or unexported fields
}
func (*ExecuteTracer) Format ¶
func (d *ExecuteTracer) Format(formater Formater)
func (*ExecuteTracer) NewTable ¶
func (d *ExecuteTracer) NewTable(table, as string, expr sqlparser.Expr) *TableTracer
func (*ExecuteTracer) ReadError ¶
func (d *ExecuteTracer) ReadError(tableName string, tags []memcore.KeyValue, err error)
func (*ExecuteTracer) ReadOk ¶
func (d *ExecuteTracer) ReadOk(tableName string, tags []memcore.KeyValue, value interface{})
func (*ExecuteTracer) ReadSkip ¶
func (d *ExecuteTracer) ReadSkip(tableName string, tags []memcore.KeyValue)
func (*ExecuteTracer) String ¶
func (d *ExecuteTracer) String() string
type Foreign ¶
type Foreign interface {
From(ctx *SessionContext, tableAs TableAlias, where *sqlparser.Where) (memcore.Query, error)
}
type ForeignQuery ¶
func WrapForeign ¶
func WrapForeign(q memcore.Query) ForeignQuery
type HookStorage ¶
func NewHookStorage ¶
func NewHookStorage(storage memcore.Storage, read ReadFunc) *HookStorage
func (*HookStorage) EnsureTables ¶
func (hs *HookStorage) EnsureTables(ctx *SessionContext, tableName TableAlias, iterator parser.KeyValueIterator) error
func (*HookStorage) From ¶
func (hs *HookStorage) From(ctx *SessionContext, tableName TableAlias, tableExpr sqlparser.Expr, trace func(TableName)) (memcore.Query, error)
func (*HookStorage) GetPredateLimit ¶
func (hs *HookStorage) GetPredateLimit(ctx *SessionContext) time.Time
type ReadFunc ¶
type ReadFunc func(ctx *SessionContext, tableName string, tags []memcore.KeyValue) (time.Time, interface{}, error)
func ReadValues ¶
type SessionContext ¶
type SessionContext struct {
*Context
// contains filtered or unexported fields
}
func (*SessionContext) Close ¶
func (session *SessionContext) Close() error
func (*SessionContext) ExecuteSelect ¶
func (sc *SessionContext) ExecuteSelect(stmt sqlparser.SelectStatement) (memcore.Query, error)
func (*SessionContext) GetQuery ¶
func (sc *SessionContext) GetQuery(name string) (*memcore.ReferenceQuery, bool)
func (*SessionContext) GetResultSet ¶
func (sc *SessionContext) GetResultSet(stmt string) ([]memcore.Record, bool)
func (*SessionContext) Init ¶
func (session *SessionContext) Init() error
func (*SessionContext) OnClosing ¶
func (sc *SessionContext) OnClosing(closers ...io.Closer)
func (*SessionContext) OnIniting ¶
func (sc *SessionContext) OnIniting(cb func() error)
func (*SessionContext) SetResultSet ¶
func (sc *SessionContext) SetResultSet(stmt string, records []memcore.Record)
type Storage ¶
type Storage interface {
From(ctx *SessionContext, tableName TableAlias, tableExpr sqlparser.Expr, trace func(TableName)) (memcore.Query, error)
}
func WrapStorage ¶
type StrFormater ¶
type StrFormater struct {
// contains filtered or unexported fields
}
func (*StrFormater) Println ¶
func (f *StrFormater) Println(args ...interface{})
func (*StrFormater) String ¶
func (f *StrFormater) String() string
type TableAlias ¶
type TableAlias = memcore.TableAlias
type TableContext ¶
type TableContext struct {
*SessionContext
// contains filtered or unexported fields
}
type TableQuery ¶
type TableQuery struct {
Name string
Alias string
Query *memcore.ReferenceQuery
}
type TableTracer ¶
type TableTracer struct {
Table string
As string
TableFilter string
TableNames []memcore.TableName
Where string
Results []string
}
func (*TableTracer) Format ¶
func (d *TableTracer) Format(formater Formater)
func (*TableTracer) SetTableNames ¶
func (d *TableTracer) SetTableNames(tableNames []memcore.TableName)
func (*TableTracer) SetWhere ¶
func (d *TableTracer) SetWhere(expr sqlparser.Expr)
Click to show internal directories.
Click to hide internal directories.