Documentation ¶
Index ¶
- func FreeRegisters(proc *Process)
- func Get(proc *Process, size int64, typ types.Type) (*vector.Vector, error)
- func GetSels(proc *Process) []int64
- func Put(proc *Process, vec *vector.Vector)
- func PutSels(sels []int64, proc *Process)
- type Limitation
- type Process
- type Register
- type SessionInfo
- func (si *SessionInfo) GetCharset() string
- func (si *SessionInfo) GetCollation() string
- func (si *SessionInfo) GetConnectionID() uint64
- func (si *SessionInfo) GetDatabase() string
- func (si *SessionInfo) GetHost() string
- func (si *SessionInfo) GetRole() string
- func (si *SessionInfo) GetUser() string
- func (si *SessionInfo) GetUserHost() string
- func (si *SessionInfo) GetVersion() string
- type WaitRegister
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FreeRegisters ¶
func FreeRegisters(proc *Process)
Types ¶
type Limitation ¶
type Limitation struct { // Size, memory threshold. Size int64 // BatchRows, max rows for batch. BatchRows int64 // BatchSize, max size for batch. BatchSize int64 // PartitionRows, max rows for partition. PartitionRows int64 }
Limitation specifies the maximum resources that can be used in one query.
type Process ¶
type Process struct { // Id, query id. Id string Reg Register Lim Limitation Mp *mheap.Mheap // unix timestamp UnixTime int64 // snapshot is transaction context Snapshot []byte SessionInfo SessionInfo // snapshot is transaction context Cancel context.CancelFunc }
Process contains context used in query execution one or more pipeline will be generated for one query, and one pipeline has one process instance.
func NewFromProc ¶ added in v0.5.0
NewFromProc create a new Process based on another process.
func (*Process) AllocScalarNullVector ¶ added in v0.5.0
func (*Process) AllocScalarVector ¶ added in v0.5.0
func (*Process) AllocVector ¶ added in v0.5.0
type Register ¶
type Register struct { // Ss, temporarily stores the row number list in the execution of operators // and it can be reused in the future execution. Ss [][]int64 // InputBatch, stores the result of the previous operator. InputBatch *batch.Batch // Vecs, temporarily stores the column data in the execution of operators // and it can be reused in the future execution to avoid mem alloc and type casting overhead. Vecs []*vector.Vector // MergeReceivers, receives result of multi previous operators from other pipelines // e.g. merge operator. MergeReceivers []*WaitRegister }
Register used in execution pipeline and shared with all operators of the same pipeline.
type SessionInfo ¶ added in v0.5.0
type SessionInfo struct { User string Host string Role string ConnectionID uint64 Database string Version string }
session information
func (*SessionInfo) GetCharset ¶ added in v0.5.0
func (si *SessionInfo) GetCharset() string
func (*SessionInfo) GetCollation ¶ added in v0.5.0
func (si *SessionInfo) GetCollation() string
func (*SessionInfo) GetConnectionID ¶ added in v0.5.0
func (si *SessionInfo) GetConnectionID() uint64
func (*SessionInfo) GetDatabase ¶ added in v0.5.0
func (si *SessionInfo) GetDatabase() string
func (*SessionInfo) GetHost ¶ added in v0.5.0
func (si *SessionInfo) GetHost() string
func (*SessionInfo) GetRole ¶ added in v0.5.0
func (si *SessionInfo) GetRole() string
func (*SessionInfo) GetUser ¶ added in v0.5.0
func (si *SessionInfo) GetUser() string
func (*SessionInfo) GetUserHost ¶ added in v0.5.0
func (si *SessionInfo) GetUserHost() string
func (*SessionInfo) GetVersion ¶ added in v0.5.0
func (si *SessionInfo) GetVersion() string
Click to show internal directories.
Click to hide internal directories.