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.