Documentation ¶
Overview ¶
Package tipb is a generated protocol buffer package.
It is generated from these files:
executor.proto expression.proto schema.proto select.proto
It has these top-level messages:
Executor TableScan IndexScan Selection Projection Aggregation TopN Limit Expr ByItem TableInfo ColumnInfo IndexInfo KeyRange SelectRequest Row Error SelectResponse Chunk RowMeta DAGRequest
Index ¶
- Variables
- type Aggregation
- func (*Aggregation) Descriptor() ([]byte, []int)
- func (m *Aggregation) GetAggFunc() []*Expr
- func (m *Aggregation) GetGroupBy() []*Expr
- func (m *Aggregation) GetStreamed() bool
- func (m *Aggregation) Marshal() (dAtA []byte, err error)
- func (m *Aggregation) MarshalTo(dAtA []byte) (int, error)
- func (*Aggregation) ProtoMessage()
- func (m *Aggregation) Reset()
- func (m *Aggregation) Size() (n int)
- func (m *Aggregation) String() string
- func (m *Aggregation) Unmarshal(dAtA []byte) error
- type ByItem
- func (*ByItem) Descriptor() ([]byte, []int)
- func (m *ByItem) GetDesc() bool
- func (m *ByItem) GetExpr() *Expr
- func (m *ByItem) Marshal() (dAtA []byte, err error)
- func (m *ByItem) MarshalTo(dAtA []byte) (int, error)
- func (*ByItem) ProtoMessage()
- func (m *ByItem) Reset()
- func (m *ByItem) Size() (n int)
- func (m *ByItem) String() string
- func (m *ByItem) Unmarshal(dAtA []byte) error
- type Chunk
- func (*Chunk) Descriptor() ([]byte, []int)
- func (m *Chunk) GetRowsMeta() []RowMeta
- func (m *Chunk) Marshal() (dAtA []byte, err error)
- func (m *Chunk) MarshalTo(dAtA []byte) (int, error)
- func (*Chunk) ProtoMessage()
- func (m *Chunk) Reset()
- func (m *Chunk) Size() (n int)
- func (m *Chunk) String() string
- func (m *Chunk) Unmarshal(dAtA []byte) error
- type ColumnInfo
- func (*ColumnInfo) Descriptor() ([]byte, []int)
- func (m *ColumnInfo) GetCollation() int32
- func (m *ColumnInfo) GetColumnId() int64
- func (m *ColumnInfo) GetColumnLen() int32
- func (m *ColumnInfo) GetDecimal() int32
- func (m *ColumnInfo) GetDefaultVal() []byte
- func (m *ColumnInfo) GetElems() []string
- func (m *ColumnInfo) GetFlag() int32
- func (m *ColumnInfo) GetPkHandle() bool
- func (m *ColumnInfo) GetTp() int32
- func (m *ColumnInfo) Marshal() (dAtA []byte, err error)
- func (m *ColumnInfo) MarshalTo(dAtA []byte) (int, error)
- func (*ColumnInfo) ProtoMessage()
- func (m *ColumnInfo) Reset()
- func (m *ColumnInfo) Size() (n int)
- func (m *ColumnInfo) String() string
- func (m *ColumnInfo) Unmarshal(dAtA []byte) error
- type DAGRequest
- func (*DAGRequest) Descriptor() ([]byte, []int)
- func (m *DAGRequest) GetExecutors() []*Executor
- func (m *DAGRequest) GetFlags() uint64
- func (m *DAGRequest) GetOutputOffsets() []uint32
- func (m *DAGRequest) GetStartTs() uint64
- func (m *DAGRequest) GetTimeZoneOffset() int64
- func (m *DAGRequest) Marshal() (dAtA []byte, err error)
- func (m *DAGRequest) MarshalTo(dAtA []byte) (int, error)
- func (*DAGRequest) ProtoMessage()
- func (m *DAGRequest) Reset()
- func (m *DAGRequest) Size() (n int)
- func (m *DAGRequest) String() string
- func (m *DAGRequest) Unmarshal(dAtA []byte) error
- type Error
- func (*Error) Descriptor() ([]byte, []int)
- func (m *Error) GetCode() int32
- func (m *Error) GetMsg() string
- func (m *Error) Marshal() (dAtA []byte, err error)
- func (m *Error) MarshalTo(dAtA []byte) (int, error)
- func (*Error) ProtoMessage()
- func (m *Error) Reset()
- func (m *Error) Size() (n int)
- func (m *Error) String() string
- func (m *Error) Unmarshal(dAtA []byte) error
- type ExecType
- type Executor
- func (*Executor) Descriptor() ([]byte, []int)
- func (m *Executor) GetAggregation() *Aggregation
- func (m *Executor) GetIdxScan() *IndexScan
- func (m *Executor) GetLimit() *Limit
- func (m *Executor) GetSelection() *Selection
- func (m *Executor) GetTblScan() *TableScan
- func (m *Executor) GetTopN() *TopN
- func (m *Executor) GetTp() ExecType
- func (m *Executor) Marshal() (dAtA []byte, err error)
- func (m *Executor) MarshalTo(dAtA []byte) (int, error)
- func (*Executor) ProtoMessage()
- func (m *Executor) Reset()
- func (m *Executor) Size() (n int)
- func (m *Executor) String() string
- func (m *Executor) Unmarshal(dAtA []byte) error
- type Expr
- func (*Expr) Descriptor() ([]byte, []int)
- func (m *Expr) GetChildren() []*Expr
- func (m *Expr) GetTp() ExprType
- func (m *Expr) GetVal() []byte
- func (m *Expr) Marshal() (dAtA []byte, err error)
- func (m *Expr) MarshalTo(dAtA []byte) (int, error)
- func (*Expr) ProtoMessage()
- func (m *Expr) Reset()
- func (m *Expr) Size() (n int)
- func (m *Expr) String() string
- func (m *Expr) Unmarshal(dAtA []byte) error
- type ExprType
- type IndexInfo
- func (*IndexInfo) Descriptor() ([]byte, []int)
- func (m *IndexInfo) GetColumns() []*ColumnInfo
- func (m *IndexInfo) GetIndexId() int64
- func (m *IndexInfo) GetTableId() int64
- func (m *IndexInfo) GetUnique() bool
- func (m *IndexInfo) Marshal() (dAtA []byte, err error)
- func (m *IndexInfo) MarshalTo(dAtA []byte) (int, error)
- func (*IndexInfo) ProtoMessage()
- func (m *IndexInfo) Reset()
- func (m *IndexInfo) Size() (n int)
- func (m *IndexInfo) String() string
- func (m *IndexInfo) Unmarshal(dAtA []byte) error
- type IndexScan
- func (*IndexScan) Descriptor() ([]byte, []int)
- func (m *IndexScan) GetColumns() []*ColumnInfo
- func (m *IndexScan) GetDesc() bool
- func (m *IndexScan) GetIndexId() int64
- func (m *IndexScan) GetTableId() int64
- func (m *IndexScan) Marshal() (dAtA []byte, err error)
- func (m *IndexScan) MarshalTo(dAtA []byte) (int, error)
- func (*IndexScan) ProtoMessage()
- func (m *IndexScan) Reset()
- func (m *IndexScan) Size() (n int)
- func (m *IndexScan) String() string
- func (m *IndexScan) Unmarshal(dAtA []byte) error
- type KeyRange
- func (*KeyRange) Descriptor() ([]byte, []int)
- func (m *KeyRange) GetHigh() []byte
- func (m *KeyRange) GetLow() []byte
- func (m *KeyRange) Marshal() (dAtA []byte, err error)
- func (m *KeyRange) MarshalTo(dAtA []byte) (int, error)
- func (*KeyRange) ProtoMessage()
- func (m *KeyRange) Reset()
- func (m *KeyRange) Size() (n int)
- func (m *KeyRange) String() string
- func (m *KeyRange) Unmarshal(dAtA []byte) error
- type Limit
- func (*Limit) Descriptor() ([]byte, []int)
- func (m *Limit) GetLimit() uint64
- func (m *Limit) Marshal() (dAtA []byte, err error)
- func (m *Limit) MarshalTo(dAtA []byte) (int, error)
- func (*Limit) ProtoMessage()
- func (m *Limit) Reset()
- func (m *Limit) Size() (n int)
- func (m *Limit) String() string
- func (m *Limit) Unmarshal(dAtA []byte) error
- type Projection
- func (*Projection) Descriptor() ([]byte, []int)
- func (m *Projection) GetExprs() []*Expr
- func (m *Projection) Marshal() (dAtA []byte, err error)
- func (m *Projection) MarshalTo(dAtA []byte) (int, error)
- func (*Projection) ProtoMessage()
- func (m *Projection) Reset()
- func (m *Projection) Size() (n int)
- func (m *Projection) String() string
- func (m *Projection) Unmarshal(dAtA []byte) error
- type Row
- func (*Row) Descriptor() ([]byte, []int)
- func (m *Row) GetData() []byte
- func (m *Row) GetHandle() []byte
- func (m *Row) Marshal() (dAtA []byte, err error)
- func (m *Row) MarshalTo(dAtA []byte) (int, error)
- func (*Row) ProtoMessage()
- func (m *Row) Reset()
- func (m *Row) Size() (n int)
- func (m *Row) String() string
- func (m *Row) Unmarshal(dAtA []byte) error
- type RowMeta
- func (*RowMeta) Descriptor() ([]byte, []int)
- func (m *RowMeta) GetHandle() int64
- func (m *RowMeta) GetLength() int64
- func (m *RowMeta) Marshal() (dAtA []byte, err error)
- func (m *RowMeta) MarshalTo(dAtA []byte) (int, error)
- func (*RowMeta) ProtoMessage()
- func (m *RowMeta) Reset()
- func (m *RowMeta) Size() (n int)
- func (m *RowMeta) String() string
- func (m *RowMeta) Unmarshal(dAtA []byte) error
- type SelectRequest
- func (*SelectRequest) Descriptor() ([]byte, []int)
- func (m *SelectRequest) GetAggregates() []*Expr
- func (m *SelectRequest) GetDistinct() bool
- func (m *SelectRequest) GetFields() []*Expr
- func (m *SelectRequest) GetFlags() uint64
- func (m *SelectRequest) GetGroupBy() []*ByItem
- func (m *SelectRequest) GetHaving() *Expr
- func (m *SelectRequest) GetIndexInfo() *IndexInfo
- func (m *SelectRequest) GetLimit() int64
- func (m *SelectRequest) GetOrderBy() []*ByItem
- func (m *SelectRequest) GetRanges() []*KeyRange
- func (m *SelectRequest) GetStartTs() uint64
- func (m *SelectRequest) GetTableInfo() *TableInfo
- func (m *SelectRequest) GetTimeZoneOffset() int64
- func (m *SelectRequest) GetWhere() *Expr
- func (m *SelectRequest) Marshal() (dAtA []byte, err error)
- func (m *SelectRequest) MarshalTo(dAtA []byte) (int, error)
- func (*SelectRequest) ProtoMessage()
- func (m *SelectRequest) Reset()
- func (m *SelectRequest) Size() (n int)
- func (m *SelectRequest) String() string
- func (m *SelectRequest) Unmarshal(dAtA []byte) error
- type SelectResponse
- func (*SelectResponse) Descriptor() ([]byte, []int)
- func (m *SelectResponse) GetChunks() []Chunk
- func (m *SelectResponse) GetError() *Error
- func (m *SelectResponse) GetRows() []*Row
- func (m *SelectResponse) GetWarnings() []*Error
- func (m *SelectResponse) Marshal() (dAtA []byte, err error)
- func (m *SelectResponse) MarshalTo(dAtA []byte) (int, error)
- func (*SelectResponse) ProtoMessage()
- func (m *SelectResponse) Reset()
- func (m *SelectResponse) Size() (n int)
- func (m *SelectResponse) String() string
- func (m *SelectResponse) Unmarshal(dAtA []byte) error
- type Selection
- func (*Selection) Descriptor() ([]byte, []int)
- func (m *Selection) GetConditions() []*Expr
- func (m *Selection) Marshal() (dAtA []byte, err error)
- func (m *Selection) MarshalTo(dAtA []byte) (int, error)
- func (*Selection) ProtoMessage()
- func (m *Selection) Reset()
- func (m *Selection) Size() (n int)
- func (m *Selection) String() string
- func (m *Selection) Unmarshal(dAtA []byte) error
- type TableInfo
- func (*TableInfo) Descriptor() ([]byte, []int)
- func (m *TableInfo) GetColumns() []*ColumnInfo
- func (m *TableInfo) GetTableId() int64
- func (m *TableInfo) Marshal() (dAtA []byte, err error)
- func (m *TableInfo) MarshalTo(dAtA []byte) (int, error)
- func (*TableInfo) ProtoMessage()
- func (m *TableInfo) Reset()
- func (m *TableInfo) Size() (n int)
- func (m *TableInfo) String() string
- func (m *TableInfo) Unmarshal(dAtA []byte) error
- type TableScan
- func (*TableScan) Descriptor() ([]byte, []int)
- func (m *TableScan) GetColumns() []*ColumnInfo
- func (m *TableScan) GetDesc() bool
- func (m *TableScan) GetTableId() int64
- func (m *TableScan) Marshal() (dAtA []byte, err error)
- func (m *TableScan) MarshalTo(dAtA []byte) (int, error)
- func (*TableScan) ProtoMessage()
- func (m *TableScan) Reset()
- func (m *TableScan) Size() (n int)
- func (m *TableScan) String() string
- func (m *TableScan) Unmarshal(dAtA []byte) error
- type TopN
- func (*TopN) Descriptor() ([]byte, []int)
- func (m *TopN) GetLimit() uint64
- func (m *TopN) GetOrderBy() []*ByItem
- func (m *TopN) Marshal() (dAtA []byte, err error)
- func (m *TopN) MarshalTo(dAtA []byte) (int, error)
- func (*TopN) ProtoMessage()
- func (m *TopN) Reset()
- func (m *TopN) Size() (n int)
- func (m *TopN) String() string
- func (m *TopN) Unmarshal(dAtA []byte) error
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrInvalidLengthExecutor = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowExecutor = fmt.Errorf("proto: integer overflow") )
View Source
var ( ErrInvalidLengthExpression = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowExpression = fmt.Errorf("proto: integer overflow") )
View Source
var ( ErrInvalidLengthSchema = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowSchema = fmt.Errorf("proto: integer overflow") )
View Source
var ( ErrInvalidLengthSelect = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowSelect = fmt.Errorf("proto: integer overflow") )
View Source
var ExecType_name = map[int32]string{
0: "TypeTableScan",
1: "TypeIndexScan",
2: "TypeSelection",
3: "TypeAggregation",
4: "TypeTopN",
5: "TypeLimit",
}
View Source
var ExecType_value = map[string]int32{
"TypeTableScan": 0,
"TypeIndexScan": 1,
"TypeSelection": 2,
"TypeAggregation": 3,
"TypeTopN": 4,
"TypeLimit": 5,
}
View Source
var ExprType_name = map[int32]string{}/* 110 elements not displayed */
View Source
var ExprType_value = map[string]int32{}/* 110 elements not displayed */
Functions ¶
This section is empty.
Types ¶
type Aggregation ¶
type Aggregation struct { // Group by clause. GroupBy []*Expr `protobuf:"bytes,1,rep,name=group_by,json=groupBy" json:"group_by,omitempty"` // Aggregate functions. AggFunc []*Expr `protobuf:"bytes,2,rep,name=agg_func,json=aggFunc" json:"agg_func,omitempty"` // If it is a stream aggregation. Streamed bool `protobuf:"varint,3,opt,name=streamed" json:"streamed"` XXX_unrecognized []byte `json:"-"` }
func (*Aggregation) Descriptor ¶
func (*Aggregation) Descriptor() ([]byte, []int)
func (*Aggregation) GetAggFunc ¶
func (m *Aggregation) GetAggFunc() []*Expr
func (*Aggregation) GetGroupBy ¶
func (m *Aggregation) GetGroupBy() []*Expr
func (*Aggregation) GetStreamed ¶
func (m *Aggregation) GetStreamed() bool
func (*Aggregation) Marshal ¶
func (m *Aggregation) Marshal() (dAtA []byte, err error)
func (*Aggregation) ProtoMessage ¶
func (*Aggregation) ProtoMessage()
func (*Aggregation) Reset ¶
func (m *Aggregation) Reset()
func (*Aggregation) Size ¶
func (m *Aggregation) Size() (n int)
func (*Aggregation) String ¶
func (m *Aggregation) String() string
func (*Aggregation) Unmarshal ¶
func (m *Aggregation) Unmarshal(dAtA []byte) error
type ByItem ¶
type ByItem struct { Expr *Expr `protobuf:"bytes,1,opt,name=expr" json:"expr,omitempty"` Desc bool `protobuf:"varint,2,opt,name=desc" json:"desc"` XXX_unrecognized []byte `json:"-"` }
ByItem type for group by and order by.
func (*ByItem) Descriptor ¶
func (*ByItem) ProtoMessage ¶
func (*ByItem) ProtoMessage()
type Chunk ¶
type Chunk struct { // Data for all rows in the chunk. RowsData github_com_pingcap_tipb_sharedbytes.SharedBytes `` /* 127-byte string literal not displayed */ // Meta data for every row. RowsMeta []RowMeta `protobuf:"bytes,4,rep,name=rows_meta,json=rowsMeta" json:"rows_meta"` XXX_unrecognized []byte `json:"-"` }
Chunk contains multiple rows data and rows meta.
func (*Chunk) Descriptor ¶
func (*Chunk) GetRowsMeta ¶
func (*Chunk) ProtoMessage ¶
func (*Chunk) ProtoMessage()
type ColumnInfo ¶
type ColumnInfo struct { ColumnId int64 `protobuf:"varint,1,opt,name=column_id,json=columnId" json:"column_id"` Tp int32 `protobuf:"varint,2,opt,name=tp" json:"tp"` Collation int32 `protobuf:"varint,3,opt,name=collation" json:"collation"` ColumnLen int32 `protobuf:"varint,4,opt,name=columnLen" json:"columnLen"` Decimal int32 `protobuf:"varint,5,opt,name=decimal" json:"decimal"` Flag int32 `protobuf:"varint,6,opt,name=flag" json:"flag"` Elems []string `protobuf:"bytes,7,rep,name=elems" json:"elems,omitempty"` DefaultVal []byte `protobuf:"bytes,8,opt,name=default_val,json=defaultVal" json:"default_val,omitempty"` PkHandle bool `protobuf:"varint,21,opt,name=pk_handle,json=pkHandle" json:"pk_handle"` XXX_unrecognized []byte `json:"-"` }
func (*ColumnInfo) Descriptor ¶
func (*ColumnInfo) Descriptor() ([]byte, []int)
func (*ColumnInfo) GetCollation ¶
func (m *ColumnInfo) GetCollation() int32
func (*ColumnInfo) GetColumnId ¶
func (m *ColumnInfo) GetColumnId() int64
func (*ColumnInfo) GetColumnLen ¶
func (m *ColumnInfo) GetColumnLen() int32
func (*ColumnInfo) GetDecimal ¶
func (m *ColumnInfo) GetDecimal() int32
func (*ColumnInfo) GetDefaultVal ¶
func (m *ColumnInfo) GetDefaultVal() []byte
func (*ColumnInfo) GetElems ¶
func (m *ColumnInfo) GetElems() []string
func (*ColumnInfo) GetFlag ¶
func (m *ColumnInfo) GetFlag() int32
func (*ColumnInfo) GetPkHandle ¶
func (m *ColumnInfo) GetPkHandle() bool
func (*ColumnInfo) GetTp ¶
func (m *ColumnInfo) GetTp() int32
func (*ColumnInfo) Marshal ¶
func (m *ColumnInfo) Marshal() (dAtA []byte, err error)
func (*ColumnInfo) ProtoMessage ¶
func (*ColumnInfo) ProtoMessage()
func (*ColumnInfo) Reset ¶
func (m *ColumnInfo) Reset()
func (*ColumnInfo) Size ¶
func (m *ColumnInfo) Size() (n int)
func (*ColumnInfo) String ¶
func (m *ColumnInfo) String() string
func (*ColumnInfo) Unmarshal ¶
func (m *ColumnInfo) Unmarshal(dAtA []byte) error
type DAGRequest ¶
type DAGRequest struct { // Transaction start timestamp. StartTs uint64 `protobuf:"varint,1,opt,name=start_ts,json=startTs" json:"start_ts"` // It represents push down Executors. Executors []*Executor `protobuf:"bytes,2,rep,name=executors" json:"executors,omitempty"` // time zone offset in seconds TimeZoneOffset int64 `protobuf:"varint,3,opt,name=time_zone_offset,json=timeZoneOffset" json:"time_zone_offset"` // flags are used to store flags that change the execution mode, it contains: // ignore_truncate = 1 // truncate error should be ignore if set. // truncate_as_warning = 1 << 1 // when ignored_truncate is not set, return warning instead of error if this flag is set. // ... // add more when needed. Flags uint64 `protobuf:"varint,4,opt,name=flags" json:"flags"` // It represents which columns we should output. OutputOffsets []uint32 `protobuf:"varint,5,rep,name=output_offsets,json=outputOffsets" json:"output_offsets,omitempty"` XXX_unrecognized []byte `json:"-"` }
DAGRequest represents the request that will be handled with DAG mode.
func (*DAGRequest) Descriptor ¶
func (*DAGRequest) Descriptor() ([]byte, []int)
func (*DAGRequest) GetExecutors ¶
func (m *DAGRequest) GetExecutors() []*Executor
func (*DAGRequest) GetFlags ¶
func (m *DAGRequest) GetFlags() uint64
func (*DAGRequest) GetOutputOffsets ¶
func (m *DAGRequest) GetOutputOffsets() []uint32
func (*DAGRequest) GetStartTs ¶
func (m *DAGRequest) GetStartTs() uint64
func (*DAGRequest) GetTimeZoneOffset ¶
func (m *DAGRequest) GetTimeZoneOffset() int64
func (*DAGRequest) Marshal ¶
func (m *DAGRequest) Marshal() (dAtA []byte, err error)
func (*DAGRequest) ProtoMessage ¶
func (*DAGRequest) ProtoMessage()
func (*DAGRequest) Reset ¶
func (m *DAGRequest) Reset()
func (*DAGRequest) Size ¶
func (m *DAGRequest) Size() (n int)
func (*DAGRequest) String ¶
func (m *DAGRequest) String() string
func (*DAGRequest) Unmarshal ¶
func (m *DAGRequest) Unmarshal(dAtA []byte) error
type Error ¶
type Error struct { Code int32 `protobuf:"varint,1,opt,name=code" json:"code"` Msg string `protobuf:"bytes,2,opt,name=msg" json:"msg"` XXX_unrecognized []byte `json:"-"` }
func (*Error) Descriptor ¶
func (*Error) ProtoMessage ¶
func (*Error) ProtoMessage()
type ExecType ¶
type ExecType int32
func (ExecType) EnumDescriptor ¶
func (*ExecType) UnmarshalJSON ¶
type Executor ¶
type Executor struct { Tp ExecType `protobuf:"varint,1,opt,name=tp,enum=tipb.ExecType" json:"tp"` TblScan *TableScan `protobuf:"bytes,2,opt,name=tbl_scan,json=tblScan" json:"tbl_scan,omitempty"` IdxScan *IndexScan `protobuf:"bytes,3,opt,name=idx_scan,json=idxScan" json:"idx_scan,omitempty"` Selection *Selection `protobuf:"bytes,4,opt,name=selection" json:"selection,omitempty"` Aggregation *Aggregation `protobuf:"bytes,5,opt,name=aggregation" json:"aggregation,omitempty"` TopN *TopN `protobuf:"bytes,6,opt,name=topN" json:"topN,omitempty"` Limit *Limit `protobuf:"bytes,7,opt,name=limit" json:"limit,omitempty"` XXX_unrecognized []byte `json:"-"` }
It represents a Executor.
func (*Executor) Descriptor ¶
func (*Executor) GetAggregation ¶
func (m *Executor) GetAggregation() *Aggregation
func (*Executor) GetIdxScan ¶
func (*Executor) GetSelection ¶
func (*Executor) GetTblScan ¶
func (*Executor) ProtoMessage ¶
func (*Executor) ProtoMessage()
type Expr ¶
type Expr struct { Tp ExprType `protobuf:"varint,1,opt,name=tp,enum=tipb.ExprType" json:"tp"` Val []byte `protobuf:"bytes,2,opt,name=val" json:"val,omitempty"` Children []*Expr `protobuf:"bytes,3,rep,name=children" json:"children,omitempty"` XXX_unrecognized []byte `json:"-"` }
Evaluators should implement evaluation functions for every expression type.
func (*Expr) Descriptor ¶
func (*Expr) GetChildren ¶
func (*Expr) ProtoMessage ¶
func (*Expr) ProtoMessage()
type ExprType ¶
type ExprType int32
const ( // Values are encoded bytes. ExprType_Null ExprType = 0 ExprType_Int64 ExprType = 1 ExprType_Uint64 ExprType = 2 ExprType_Float32 ExprType = 3 ExprType_Float64 ExprType = 4 ExprType_String ExprType = 5 ExprType_Bytes ExprType = 6 // Mysql specific types. ExprType_MysqlBit ExprType = 101 ExprType_MysqlDecimal ExprType = 102 ExprType_MysqlDuration ExprType = 103 ExprType_MysqlEnum ExprType = 104 ExprType_MysqlHex ExprType = 105 ExprType_MysqlSet ExprType = 106 ExprType_MysqlTime ExprType = 107 // Encoded value list. ExprType_ValueList ExprType = 151 // Column reference. value is int64 column ID. ExprType_ColumnRef ExprType = 201 // Unary operations, children count 1. ExprType_Not ExprType = 1001 ExprType_Neg ExprType = 1002 ExprType_BitNeg ExprType = 1003 // Comparison operations. ExprType_LT ExprType = 2001 ExprType_LE ExprType = 2002 ExprType_EQ ExprType = 2003 ExprType_NE ExprType = 2004 ExprType_GE ExprType = 2005 ExprType_GT ExprType = 2006 ExprType_NullEQ ExprType = 2007 // Bit operations. ExprType_BitAnd ExprType = 2101 ExprType_BitOr ExprType = 2102 ExprType_BitXor ExprType = 2103 ExprType_LeftShift ExprType = 2104 ExprType_RighShift ExprType = 2105 // Arithmatic. ExprType_Plus ExprType = 2201 ExprType_Minus ExprType = 2202 ExprType_Mul ExprType = 2203 ExprType_Div ExprType = 2204 ExprType_IntDiv ExprType = 2205 ExprType_Mod ExprType = 2206 // Logic operations. ExprType_And ExprType = 2301 ExprType_Or ExprType = 2302 ExprType_Xor ExprType = 2303 // Aggregate functions. ExprType_Count ExprType = 3001 ExprType_Sum ExprType = 3002 ExprType_Avg ExprType = 3003 ExprType_Min ExprType = 3004 ExprType_Max ExprType = 3005 ExprType_First ExprType = 3006 ExprType_GroupConcat ExprType = 3007 // Math functions. ExprType_Abs ExprType = 3101 ExprType_Pow ExprType = 3102 ExprType_Round ExprType = 3103 // String functions. ExprType_Concat ExprType = 3201 ExprType_ConcatWS ExprType = 3202 ExprType_Left ExprType = 3203 ExprType_Length ExprType = 3204 ExprType_Lower ExprType = 3205 ExprType_Repeat ExprType = 3206 ExprType_Replace ExprType = 3207 ExprType_Upper ExprType = 3208 ExprType_Strcmp ExprType = 3209 ExprType_Convert ExprType = 3210 ExprType_Cast ExprType = 3211 ExprType_Substring ExprType = 3212 ExprType_SubstringIndex ExprType = 3213 ExprType_Locate ExprType = 3214 ExprType_Trim ExprType = 3215 // Control flow functions. ExprType_If ExprType = 3301 ExprType_NullIf ExprType = 3302 ExprType_IfNull ExprType = 3303 // Time functions. ExprType_Date ExprType = 3401 ExprType_DateAdd ExprType = 3402 ExprType_DateSub ExprType = 3403 ExprType_Year ExprType = 3411 ExprType_YearWeek ExprType = 3412 ExprType_Month ExprType = 3421 ExprType_Week ExprType = 3431 ExprType_Weekday ExprType = 3432 ExprType_WeekOfYear ExprType = 3433 ExprType_Day ExprType = 3441 ExprType_DayName ExprType = 3442 ExprType_DayOfYear ExprType = 3443 ExprType_DayOfMonth ExprType = 3444 ExprType_DayOfWeek ExprType = 3445 ExprType_Hour ExprType = 3451 ExprType_Minute ExprType = 3452 ExprType_Second ExprType = 3453 ExprType_Microsecond ExprType = 3454 ExprType_Extract ExprType = 3461 // Other functions; ExprType_Coalesce ExprType = 3501 ExprType_Greatest ExprType = 3502 ExprType_Least ExprType = 3503 // Json functions; ExprType_JsonExtract ExprType = 3601 ExprType_JsonType ExprType = 3602 ExprType_JsonArray ExprType = 3603 ExprType_JsonObject ExprType = 3604 ExprType_JsonMerge ExprType = 3605 ExprType_JsonValid ExprType = 3606 ExprType_JsonSet ExprType = 3607 ExprType_JsonInsert ExprType = 3608 ExprType_JsonReplace ExprType = 3609 ExprType_JsonRemove ExprType = 3610 ExprType_JsonContains ExprType = 3611 ExprType_JsonUnquote ExprType = 3612 ExprType_JsonContainsPath ExprType = 3613 // Other expressions. ExprType_In ExprType = 4001 ExprType_IsTruth ExprType = 4002 ExprType_IsNull ExprType = 4003 ExprType_ExprRow ExprType = 4004 ExprType_Like ExprType = 4005 ExprType_RLike ExprType = 4006 ExprType_Case ExprType = 4007 )
func (ExprType) EnumDescriptor ¶
func (*ExprType) UnmarshalJSON ¶
type IndexInfo ¶
type IndexInfo struct { TableId int64 `protobuf:"varint,1,opt,name=table_id,json=tableId" json:"table_id"` IndexId int64 `protobuf:"varint,2,opt,name=index_id,json=indexId" json:"index_id"` Columns []*ColumnInfo `protobuf:"bytes,3,rep,name=columns" json:"columns,omitempty"` Unique bool `protobuf:"varint,4,opt,name=unique" json:"unique"` XXX_unrecognized []byte `json:"-"` }
func (*IndexInfo) Descriptor ¶
func (*IndexInfo) GetColumns ¶
func (m *IndexInfo) GetColumns() []*ColumnInfo
func (*IndexInfo) GetIndexId ¶
func (*IndexInfo) GetTableId ¶
func (*IndexInfo) ProtoMessage ¶
func (*IndexInfo) ProtoMessage()
type IndexScan ¶
type IndexScan struct { TableId int64 `protobuf:"varint,1,opt,name=table_id,json=tableId" json:"table_id"` IndexId int64 `protobuf:"varint,2,opt,name=index_id,json=indexId" json:"index_id"` Columns []*ColumnInfo `protobuf:"bytes,3,rep,name=columns" json:"columns,omitempty"` Desc bool `protobuf:"varint,4,opt,name=desc" json:"desc"` XXX_unrecognized []byte `json:"-"` }
func (*IndexScan) Descriptor ¶
func (*IndexScan) GetColumns ¶
func (m *IndexScan) GetColumns() []*ColumnInfo
func (*IndexScan) GetIndexId ¶
func (*IndexScan) GetTableId ¶
func (*IndexScan) ProtoMessage ¶
func (*IndexScan) ProtoMessage()
type KeyRange ¶
type KeyRange struct { Low []byte `protobuf:"bytes,1,opt,name=low" json:"low,omitempty"` High []byte `protobuf:"bytes,2,opt,name=high" json:"high,omitempty"` XXX_unrecognized []byte `json:"-"` }
KeyRange is the encoded index key range, low is closed, high is open. (low <= x < high)
func (*KeyRange) Descriptor ¶
func (*KeyRange) ProtoMessage ¶
func (*KeyRange) ProtoMessage()
type Limit ¶
type Limit struct { // Limit the result to be returned. Limit uint64 `protobuf:"varint,1,opt,name=limit" json:"limit"` XXX_unrecognized []byte `json:"-"` }
func (*Limit) Descriptor ¶
func (*Limit) ProtoMessage ¶
func (*Limit) ProtoMessage()
type Projection ¶
type Projection struct { // Projection expressions. Exprs []*Expr `protobuf:"bytes,1,rep,name=exprs" json:"exprs,omitempty"` XXX_unrecognized []byte `json:"-"` }
func (*Projection) Descriptor ¶
func (*Projection) Descriptor() ([]byte, []int)
func (*Projection) GetExprs ¶
func (m *Projection) GetExprs() []*Expr
func (*Projection) Marshal ¶
func (m *Projection) Marshal() (dAtA []byte, err error)
func (*Projection) ProtoMessage ¶
func (*Projection) ProtoMessage()
func (*Projection) Reset ¶
func (m *Projection) Reset()
func (*Projection) Size ¶
func (m *Projection) Size() (n int)
func (*Projection) String ¶
func (m *Projection) String() string
func (*Projection) Unmarshal ¶
func (m *Projection) Unmarshal(dAtA []byte) error
type Row ¶
type Row struct { Handle []byte `protobuf:"bytes,1,opt,name=handle" json:"handle,omitempty"` Data []byte `protobuf:"bytes,2,opt,name=data" json:"data,omitempty"` XXX_unrecognized []byte `json:"-"` }
values are all in text format.
func (*Row) Descriptor ¶
func (*Row) ProtoMessage ¶
func (*Row) ProtoMessage()
type RowMeta ¶
type RowMeta struct { Handle int64 `protobuf:"varint,1,opt,name=handle" json:"handle"` Length int64 `protobuf:"varint,2,opt,name=length" json:"length"` XXX_unrecognized []byte `json:"-"` }
RowMeta contains row handle and length of a row.
func (*RowMeta) Descriptor ¶
func (*RowMeta) ProtoMessage ¶
func (*RowMeta) ProtoMessage()
type SelectRequest ¶
type SelectRequest struct { // transaction start timestamp. StartTs uint64 `protobuf:"varint,1,opt,name=start_ts,json=startTs" json:"start_ts"` // If table_info is not null, it represents a table scan, index_info would be null. TableInfo *TableInfo `protobuf:"bytes,2,opt,name=table_info,json=tableInfo" json:"table_info,omitempty"` // If index_info is not null, it represents an index scan, table_info would be null. IndexInfo *IndexInfo `protobuf:"bytes,3,opt,name=index_info,json=indexInfo" json:"index_info,omitempty"` // fields to be selected, fields type can be column reference for simple scan. // or aggregation function. If no fields specified, only handle will be returned. Fields []*Expr `protobuf:"bytes,4,rep,name=fields" json:"fields,omitempty"` // disjoint handle ranges to be scanned. Ranges []*KeyRange `protobuf:"bytes,5,rep,name=ranges" json:"ranges,omitempty"` // distinct result. Distinct bool `protobuf:"varint,6,opt,name=distinct" json:"distinct"` // where condition. Where *Expr `protobuf:"bytes,7,opt,name=where" json:"where,omitempty"` // group by clause. GroupBy []*ByItem `protobuf:"bytes,8,rep,name=group_by,json=groupBy" json:"group_by,omitempty"` // having clause. Having *Expr `protobuf:"bytes,9,opt,name=having" json:"having,omitempty"` // order by clause. OrderBy []*ByItem `protobuf:"bytes,10,rep,name=order_by,json=orderBy" json:"order_by,omitempty"` // limit the result to be returned. Limit *int64 `protobuf:"varint,12,opt,name=limit" json:"limit,omitempty"` // aggregate functions Aggregates []*Expr `protobuf:"bytes,13,rep,name=aggregates" json:"aggregates,omitempty"` // time zone offset in seconds TimeZoneOffset int64 `protobuf:"varint,14,opt,name=time_zone_offset,json=timeZoneOffset" json:"time_zone_offset"` // flags is used to store flags that change the execution mode, it contains: // ignore_truncate = 1 // truncate error should be ignore if set. // truncate_as_warning = 1 << 1 // when ignored_truncate is not set, return warning instead of error if this flag is set. // ... // add more when needed. Flags uint64 `protobuf:"varint,15,opt,name=flags" json:"flags"` XXX_unrecognized []byte `json:"-"` }
SelectRequest works like a simplified select statement.
func (*SelectRequest) Descriptor ¶
func (*SelectRequest) Descriptor() ([]byte, []int)
func (*SelectRequest) GetAggregates ¶
func (m *SelectRequest) GetAggregates() []*Expr
func (*SelectRequest) GetDistinct ¶
func (m *SelectRequest) GetDistinct() bool
func (*SelectRequest) GetFields ¶
func (m *SelectRequest) GetFields() []*Expr
func (*SelectRequest) GetFlags ¶
func (m *SelectRequest) GetFlags() uint64
func (*SelectRequest) GetGroupBy ¶
func (m *SelectRequest) GetGroupBy() []*ByItem
func (*SelectRequest) GetHaving ¶
func (m *SelectRequest) GetHaving() *Expr
func (*SelectRequest) GetIndexInfo ¶
func (m *SelectRequest) GetIndexInfo() *IndexInfo
func (*SelectRequest) GetLimit ¶
func (m *SelectRequest) GetLimit() int64
func (*SelectRequest) GetOrderBy ¶
func (m *SelectRequest) GetOrderBy() []*ByItem
func (*SelectRequest) GetRanges ¶
func (m *SelectRequest) GetRanges() []*KeyRange
func (*SelectRequest) GetStartTs ¶
func (m *SelectRequest) GetStartTs() uint64
func (*SelectRequest) GetTableInfo ¶
func (m *SelectRequest) GetTableInfo() *TableInfo
func (*SelectRequest) GetTimeZoneOffset ¶
func (m *SelectRequest) GetTimeZoneOffset() int64
func (*SelectRequest) GetWhere ¶
func (m *SelectRequest) GetWhere() *Expr
func (*SelectRequest) Marshal ¶
func (m *SelectRequest) Marshal() (dAtA []byte, err error)
func (*SelectRequest) ProtoMessage ¶
func (*SelectRequest) ProtoMessage()
func (*SelectRequest) Reset ¶
func (m *SelectRequest) Reset()
func (*SelectRequest) Size ¶
func (m *SelectRequest) Size() (n int)
func (*SelectRequest) String ¶
func (m *SelectRequest) String() string
func (*SelectRequest) Unmarshal ¶
func (m *SelectRequest) Unmarshal(dAtA []byte) error
type SelectResponse ¶
type SelectResponse struct { Error *Error `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"` // Result rows. Rows []*Row `protobuf:"bytes,2,rep,name=rows" json:"rows,omitempty"` // Use multiple chunks to reduce memory allocation and // avoid allocating large contiguous memory. Chunks []Chunk `protobuf:"bytes,3,rep,name=chunks" json:"chunks"` Warnings []*Error `protobuf:"bytes,4,rep,name=warnings" json:"warnings,omitempty"` XXX_unrecognized []byte `json:"-"` }
Response for SelectRequest.
func (*SelectResponse) Descriptor ¶
func (*SelectResponse) Descriptor() ([]byte, []int)
func (*SelectResponse) GetChunks ¶
func (m *SelectResponse) GetChunks() []Chunk
func (*SelectResponse) GetError ¶
func (m *SelectResponse) GetError() *Error
func (*SelectResponse) GetRows ¶
func (m *SelectResponse) GetRows() []*Row
func (*SelectResponse) GetWarnings ¶
func (m *SelectResponse) GetWarnings() []*Error
func (*SelectResponse) Marshal ¶
func (m *SelectResponse) Marshal() (dAtA []byte, err error)
func (*SelectResponse) ProtoMessage ¶
func (*SelectResponse) ProtoMessage()
func (*SelectResponse) Reset ¶
func (m *SelectResponse) Reset()
func (*SelectResponse) Size ¶
func (m *SelectResponse) Size() (n int)
func (*SelectResponse) String ¶
func (m *SelectResponse) String() string
func (*SelectResponse) Unmarshal ¶
func (m *SelectResponse) Unmarshal(dAtA []byte) error
type Selection ¶
type Selection struct { // Where conditions. Conditions []*Expr `protobuf:"bytes,1,rep,name=conditions" json:"conditions,omitempty"` XXX_unrecognized []byte `json:"-"` }
func (*Selection) Descriptor ¶
func (*Selection) GetConditions ¶
func (*Selection) ProtoMessage ¶
func (*Selection) ProtoMessage()
type TableInfo ¶
type TableInfo struct { TableId int64 `protobuf:"varint,1,opt,name=table_id,json=tableId" json:"table_id"` Columns []*ColumnInfo `protobuf:"bytes,2,rep,name=columns" json:"columns,omitempty"` XXX_unrecognized []byte `json:"-"` }
func (*TableInfo) Descriptor ¶
func (*TableInfo) GetColumns ¶
func (m *TableInfo) GetColumns() []*ColumnInfo
func (*TableInfo) GetTableId ¶
func (*TableInfo) ProtoMessage ¶
func (*TableInfo) ProtoMessage()
type TableScan ¶
type TableScan struct { TableId int64 `protobuf:"varint,1,opt,name=table_id,json=tableId" json:"table_id"` Columns []*ColumnInfo `protobuf:"bytes,2,rep,name=columns" json:"columns,omitempty"` Desc bool `protobuf:"varint,3,opt,name=desc" json:"desc"` XXX_unrecognized []byte `json:"-"` }
func (*TableScan) Descriptor ¶
func (*TableScan) GetColumns ¶
func (m *TableScan) GetColumns() []*ColumnInfo
func (*TableScan) GetTableId ¶
func (*TableScan) ProtoMessage ¶
func (*TableScan) ProtoMessage()
type TopN ¶
type TopN struct { // Order by clause. OrderBy []*ByItem `protobuf:"bytes,1,rep,name=order_by,json=orderBy" json:"order_by,omitempty"` Limit uint64 `protobuf:"varint,2,opt,name=limit" json:"limit"` XXX_unrecognized []byte `json:"-"` }
func (*TopN) Descriptor ¶
func (*TopN) GetOrderBy ¶
func (*TopN) ProtoMessage ¶
func (*TopN) ProtoMessage()
Click to show internal directories.
Click to hide internal directories.