Documentation ¶
Index ¶
- Constants
- Variables
- type CompResult
- type Detail
- type Error
- func (*Error) Descriptor() ([]byte, []int)deprecated
- func (x *Error) GetCode() int32
- func (x *Error) GetMsg() string
- func (x *Error) GetType() int32
- func (*Error) ProtoMessage()
- func (x *Error) ProtoReflect() protoreflect.Message
- func (x *Error) Reset()
- func (x *Error) String() string
- func (x *Error) ToError() *errs.Error
- type ID
- type MemberScore
- type ModResult
- type PageResult
- type QueryResp
- type RequestHeader
- func (*RequestHeader) Descriptor() ([]byte, []int)deprecated
- func (x *RequestHeader) GetAppid() uint64
- func (x *RequestHeader) GetAuthRand() uint32
- func (x *RequestHeader) GetBak() string
- func (x *RequestHeader) GetCallee() string
- func (x *RequestHeader) GetCaller() string
- func (x *RequestHeader) GetCompress() uint32
- func (x *RequestHeader) GetIp() string
- func (x *RequestHeader) GetQueryMode() uint32
- func (x *RequestHeader) GetRequestId() uint64
- func (x *RequestHeader) GetRequestType() uint32
- func (x *RequestHeader) GetSign() string
- func (x *RequestHeader) GetTimeout() uint32
- func (x *RequestHeader) GetTimestamp() uint64
- func (x *RequestHeader) GetTraceId() string
- func (x *RequestHeader) GetVersion() uint32
- func (*RequestHeader) ProtoMessage()
- func (x *RequestHeader) ProtoReflect() protoreflect.Message
- func (x *RequestHeader) Reset()
- func (x *RequestHeader) String() string
- type ResponseHeader
- func (*ResponseHeader) Descriptor() ([]byte, []int)deprecated
- func (x *ResponseHeader) GetCompress() uint32
- func (x *ResponseHeader) GetErr() *Error
- func (x *ResponseHeader) GetIsNil() bool
- func (x *ResponseHeader) GetQueryMode() uint32
- func (x *ResponseHeader) GetRequestId() uint64
- func (x *ResponseHeader) GetRspErrs() map[string]*Error
- func (x *ResponseHeader) GetRspNils() map[string]bool
- func (x *ResponseHeader) GetVersion() uint32
- func (*ResponseHeader) ProtoMessage()
- func (x *ResponseHeader) ProtoReflect() protoreflect.Message
- func (x *ResponseHeader) Reset()
- func (x *ResponseHeader) String() string
- type Scroll
- type Unit
Constants ¶
View Source
const ( HeaderVersion = "head-version" // 客户端版本 HeaderQueryMode = "head-query-mode" // 查询模式 0-单执行单元(默认)1-多执行单元并行(不含嵌套子查询) 2-复合查询(包含嵌套子查询) HeaderRequestID = "head-request-id" // 请求唯一id HeaderTraceID = "head-trace-id" // trace-id HeaderTimestamp = "head-timestamp" // 请求时间戳(精确到毫秒) HeaderTimeout = "head-timeout" // 请求超时时间,单位ms HeaderCaller = "head-caller" // 主调服务的名称 app.server.service HeaderAppid = "head-appid" // appid HeaderAuthRand = "head-auth-rand" // 随机生成 0-9999999 的数字,相同 timestamp 不允许出现同样的 ip、auth_rand。为了避免碰撞,0-9999999,单机理论最大支持 100 亿/秒的并发。 HeaderSign = "head-sign" // sign 签名,为 md5(appid+secret+version+request_type+query_mode+request_id+trace_id+timestamp+timeout+caller+compress+ip+auth_rand) HeaderIsNil = "head-is-nil" // 返回是否为空(针对单执行单元) HeaderErrorType = "head-error-type" // 错误类型 HeaderErrorCode = "head-error-code" // 错误码 HeaderErrorMessage = "head-error-msg" // 错误消息 HeaderRspNils = "head-rsp-nils" // 是否为空返回,是一个 json 串,内容为:map[string]bool(针对多执行单元并发) HeaderRspErrs = "head-rsp-errs" // 错误返回,是一个json 串,内容为:map[string]Error(针对多执行单元并发) )
Variables ¶
View Source
var File_header_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type CompResult ¶
type CompResult struct { Error *Error `orm:"error,omitempty" json:"error,omitempty"` // 错误返回 IsNil bool `orm:"is_nil,omitempty" json:"is_nil,omitempty"` // 是否为空 Detail *Detail `orm:"detail,omitempty" json:"detail,omitempty"` // 查询细节信息 Data interface{} `orm:"data" json:"data"` // 返回数据 }
CompResult 混合查询返回结果
type Detail ¶
type Detail struct { Total uint64 `orm:"total" json:"total"` // 总数 TotalPage uint32 `orm:"total_page,omitempty" json:"total_page,omitempty"` // 总页数 Page int `orm:"page,omitempty" json:"page,omitempty"` // 当前分页 Size int `orm:"size,omitempty" json:"size,omitempty"` // 每页大小 Scroll *Scroll `orm:"scroll,omitempty" json:"scroll,omitempty"` // 滚动翻页信息 Extras map[string]interface{} `orm:"extras,omitempty" json:"extras,omitempty"` // 更多详细信息 }
Detail 其他查询细节信息,例如 分页信息、滚动翻页信息、其他信息等。
type Error ¶
type Error struct { Type int32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` //错误类型 Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` //错误码 Msg string `protobuf:"bytes,3,opt,name=msg,proto3" json:"msg,omitempty"` //错误信息 // contains filtered or unexported fields }
func (*Error) Descriptor
deprecated
func (*Error) ProtoMessage ¶
func (*Error) ProtoMessage()
func (*Error) ProtoReflect ¶
func (x *Error) ProtoReflect() protoreflect.Message
type MemberScore ¶
type MemberScore struct { Member []string `orm:"member,omitempty" json:"member,omitempty"` Score []float64 `orm:"score,omitempty" json:"score,omitempty"` }
MemberScore redis 集合成员及其分数信息。
type ModResult ¶
type ModResult struct { ID ID `orm:"id,omitempty" json:"id,omitempty"` // id 主键,可能是 mysql 的最后自增id,last_insert_id 或 elastic 的 _id 等,类型可能是 int64、string RowAffected int64 `orm:"rows_affected,omitempty" json:"rows_affected,omitempty"` // 影响行数 Version int64 `orm:"version,omitempty" json:"version,omitempty"` // 数据版本 Status int `orm:"status,omitempty" json:"status,omitempty"` // 返回状态码 Reason string `orm:"reason,omitempty" json:"reason,omitempty"` // mod 失败原因 Extras map[string]interface{} `orm:"extras,omitempty" json:"extras,omitempty"` // 更多详细信息 }
ModResult 新增/更新返回信息
type PageResult ¶
type PageResult struct { Detail *Detail `orm:"detail,omitempty" json:"detail,omitempty"` // 查询细节信息 Data []interface{} `orm:"data,omitempty" json:"data,omitempty"` // 分页结果 }
PageResult 当 page > 1 时会返回分页结果
type QueryResp ¶
type QueryResp struct { IsNil bool `orm:"is_nil,omitempty" json:"is_nil,omitempty"` // 是否为空,仅针对单查询单元 RspNils map[string]bool `orm:"rsp_nils,omitempty" json:"rsp_nils,omitempty"` // 是否为空,针对并行查询 RspErrs map[string]*Error `orm:"rsp_errs,omitempty" json:"rsp_errs,omitempty"` // 返回错误码,针对并行查询 RspData interface{} `orm:"rsp_data,omitempty" json:"rsp_data,omitempty"` // 返回数据 }
QueryResp 返回请求
type RequestHeader ¶
type RequestHeader struct { Version uint32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` // 客户端版本 RequestType uint32 `protobuf:"varint,2,opt,name=request_type,json=requestType,proto3" json:"request_type,omitempty"` // 请求类型 0-rpc 请求 1-http 请求 2-web 请求 QueryMode uint32 `protobuf:"varint,3,opt,name=query_mode,json=queryMode,proto3" json:"query_mode,omitempty"` // 查询模式 0-单执行单元(默认)1-多执行单元并行(不含嵌套子查询) 2-复合查询(包含嵌套子查询) RequestId uint64 `protobuf:"varint,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` // 请求唯一id TraceId string `protobuf:"bytes,5,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"` // trace_id Timestamp uint64 `protobuf:"varint,6,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // 请求时间戳(精确到毫秒) Timeout uint32 `protobuf:"varint,7,opt,name=timeout,proto3" json:"timeout,omitempty"` // 请求超时时间,单位ms Caller string `protobuf:"bytes,8,opt,name=caller,proto3" json:"caller,omitempty"` // 主调服务的名称 app.server.service Callee string `protobuf:"bytes,9,opt,name=callee,proto3" json:"callee,omitempty"` // 被调服务的路由名称 app.server.service/func Appid uint64 `protobuf:"varint,10,opt,name=appid,proto3" json:"appid,omitempty"` // appid Compress uint32 `protobuf:"varint,11,opt,name=compress,proto3" json:"compress,omitempty"` // 是否压缩 1-压缩;0-不压缩(默认) Ip string `protobuf:"bytes,12,opt,name=ip,proto3" json:"ip,omitempty"` // ip地址 AuthRand uint32 `protobuf:"varint,13,opt,name=auth_rand,json=authRand,proto3" json:"auth_rand,omitempty"` // 随机生成 0-99999999 的数字,相同 timestamp 不允许出现同样的 ip、auth_rand。为了避免碰撞,0-99999999,单机理论最大支持 1000 亿/秒的并发。 Sign string `protobuf:"bytes,14,opt,name=sign,proto3" json:"sign,omitempty"` // sign 签名,为 md5(appid+secret+version+request_type+query_mode+request_id+trace_id+timestamp+timeout+caller+compress+auth_rand) Bak string `protobuf:"bytes,15,opt,name=bak,proto3" json:"bak,omitempty"` // 备用 // contains filtered or unexported fields }
RequestHeader 请求头
func (*RequestHeader) Descriptor
deprecated
func (*RequestHeader) Descriptor() ([]byte, []int)
Deprecated: Use RequestHeader.ProtoReflect.Descriptor instead.
func (*RequestHeader) GetAppid ¶
func (x *RequestHeader) GetAppid() uint64
func (*RequestHeader) GetAuthRand ¶
func (x *RequestHeader) GetAuthRand() uint32
func (*RequestHeader) GetBak ¶
func (x *RequestHeader) GetBak() string
func (*RequestHeader) GetCallee ¶
func (x *RequestHeader) GetCallee() string
func (*RequestHeader) GetCaller ¶
func (x *RequestHeader) GetCaller() string
func (*RequestHeader) GetCompress ¶
func (x *RequestHeader) GetCompress() uint32
func (*RequestHeader) GetIp ¶
func (x *RequestHeader) GetIp() string
func (*RequestHeader) GetQueryMode ¶
func (x *RequestHeader) GetQueryMode() uint32
func (*RequestHeader) GetRequestId ¶
func (x *RequestHeader) GetRequestId() uint64
func (*RequestHeader) GetRequestType ¶
func (x *RequestHeader) GetRequestType() uint32
func (*RequestHeader) GetSign ¶
func (x *RequestHeader) GetSign() string
func (*RequestHeader) GetTimeout ¶
func (x *RequestHeader) GetTimeout() uint32
func (*RequestHeader) GetTimestamp ¶
func (x *RequestHeader) GetTimestamp() uint64
func (*RequestHeader) GetTraceId ¶
func (x *RequestHeader) GetTraceId() string
func (*RequestHeader) GetVersion ¶
func (x *RequestHeader) GetVersion() uint32
func (*RequestHeader) ProtoMessage ¶
func (*RequestHeader) ProtoMessage()
func (*RequestHeader) ProtoReflect ¶
func (x *RequestHeader) ProtoReflect() protoreflect.Message
func (*RequestHeader) Reset ¶
func (x *RequestHeader) Reset()
func (*RequestHeader) String ¶
func (x *RequestHeader) String() string
type ResponseHeader ¶
type ResponseHeader struct { Version uint32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` // 客户端版本 QueryMode uint32 `protobuf:"varint,2,opt,name=query_mode,json=queryMode,proto3" json:"query_mode,omitempty"` // 查询模式 0-单执行单元(默认)1-多执行单元并行(不含嵌套子查询) 2-复合查询(包含嵌套子查询) RequestId uint64 `protobuf:"varint,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` // 请求唯一id Compress uint32 `protobuf:"varint,4,opt,name=compress,proto3" json:"compress,omitempty"` // 返回结果是否压缩 1-压缩;0-不压缩(默认) Err *Error `protobuf:"bytes,5,opt,name=err,proto3" json:"err,omitempty"` // 返回错误 IsNil bool `protobuf:"varint,6,opt,name=is_nil,json=isNil,proto3" json:"is_nil,omitempty"` // 返回是否为空(针对单执行单元) RspErrs map[string]*Error `` // 错误返回(针对多执行单元并发) /* 170-byte string literal not displayed */ RspNils map[string]bool `` // 是否为空返回(针对多执行单元并发) /* 171-byte string literal not displayed */ // contains filtered or unexported fields }
ResponseHeader 响应头
func (*ResponseHeader) Descriptor
deprecated
func (*ResponseHeader) Descriptor() ([]byte, []int)
Deprecated: Use ResponseHeader.ProtoReflect.Descriptor instead.
func (*ResponseHeader) GetCompress ¶
func (x *ResponseHeader) GetCompress() uint32
func (*ResponseHeader) GetErr ¶
func (x *ResponseHeader) GetErr() *Error
func (*ResponseHeader) GetIsNil ¶
func (x *ResponseHeader) GetIsNil() bool
func (*ResponseHeader) GetQueryMode ¶
func (x *ResponseHeader) GetQueryMode() uint32
func (*ResponseHeader) GetRequestId ¶
func (x *ResponseHeader) GetRequestId() uint64
func (*ResponseHeader) GetRspErrs ¶
func (x *ResponseHeader) GetRspErrs() map[string]*Error
func (*ResponseHeader) GetRspNils ¶
func (x *ResponseHeader) GetRspNils() map[string]bool
func (*ResponseHeader) GetVersion ¶
func (x *ResponseHeader) GetVersion() uint32
func (*ResponseHeader) ProtoMessage ¶
func (*ResponseHeader) ProtoMessage()
func (*ResponseHeader) ProtoReflect ¶
func (x *ResponseHeader) ProtoReflect() protoreflect.Message
func (*ResponseHeader) Reset ¶
func (x *ResponseHeader) Reset()
func (*ResponseHeader) String ¶
func (x *ResponseHeader) String() string
type Scroll ¶
type Scroll struct { Info string `json:"info,omitempty"` // 滚动查询信息,如时间 ID string `json:"id,omitempty"` // 滚动 id }
Scroll 滚动查询
type Unit ¶
type Unit struct { // query base info Name string `json:"name,omitempty"` // name Op string `json:"op,omitempty"` // operation Shard []string `json:"shard,omitempty"` // 分片、分表、分库 // 结构化查询共有 Column []string `json:"column,omitempty"` // columns Where map[string]interface{} `json:"where,omitempty"` // query condition Order []string `json:"order,omitempty"` // order by Page int `json:"page,omitempty"` // request pages. when page > 0, the request is returned in pagination. Size int `json:"size,omitempty"` // size per page From uint64 `json:"from,omitempty"` // offset // 数据更新 Data map[string]interface{} `json:"data,omitempty"` // add/update one data Datas []map[string]interface{} `json:"datas,omitempty"` // batch add/update data DataType map[string]int8 `json:"data_type,omitempty"` // 数据类型(主要用于 clickhouse,对于数据类型有强依赖),请求 json 不区分 int8、int16、int32、int64 等,只有 Number 类型,bytes 也会被当成 string 处理。 // group by Group []string `json:"group,omitempty"` // group by Having map[string]interface{} `json:"having,omitempty"` // group by filter condition // for databases such as elastic ... Type string `json:"type,omitempty"` // type, such as elastic`s type, it can be customized before v7, and unified as _doc after v7 Scroll *Scroll `json:"scroll,omitempty"` // scroll info // for databases such as redis ... Prefix string `json:"prefix,omitempty"` // prefix, It is strongly recommended to bring it to facilitate finer-grained summary statistics, otherwise the statistical granularity can only be cmd ,such as GET、SET、HGET ... Key string `json:"key,omitempty"` // key Args []interface{} `json:"args,omitempty"` // args 参数的数据类型存于 data_type // bytes 字节流 Bytes []byte `json:"bytes,omitempty"` // params 与数据库特性相关的附加参数,例如 mysql 的join,redis 的 WITHSCORES,以及 elastic 的 refresh、collapse、runtime_mappings、track_total_hits 等等。 Params map[string]interface{} `json:"params,omitempty"` // 直接送 Query 语句,需要拥有库的 表权限、或 root 权限。具体参数为 args Query string `json:"query,omitempty"` // Extend 扩展信息,作用于插件 Extend map[string]interface{} `json:"extend,omitempty"` Sub []*Unit `json:"sub,omitempty"` // 子查询 Trans []*Unit `json:"trans,omitempty"` // 事务,该事务下的所有 Unit 必须同时成功或失败(注意:仅适合支持事务的数据库回滚,如果数据库不支持事务,则操作不会回滚) }
Unit 查询单元
Click to show internal directories.
Click to hide internal directories.