Documentation ¶
Overview ¶
Package obj 提供user数据库表在go程序的结构体映射,一般用于model层调用
Index ¶
- type Property
- type TblDB
- type TblTable
- type TransInfo
- type Tree
- func (node *Tree) GetAlias() string
- func (node *Tree) GetDB() *TblDB
- func (node *Tree) GetErrorCode() int
- func (node *Tree) GetErrorMsg() string
- func (node *Tree) GetKey() string
- func (node *Tree) GetName() string
- func (node *Tree) GetOp() string
- func (node *Tree) GetPath() string
- func (node *Tree) GetReal() *Tree
- func (node *Tree) GetTable() *TblTable
- func (node *Tree) GetUnit() *proto.Unit
- func (node *Tree) IsArray() bool
- func (node *Tree) IsSuccess() bool
- func (node *Tree) IsTransaction() bool
- func (node *Tree) SetProperty(property *Property) *Tree
- func (node *Tree) Tables() []string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Property ¶
type Property struct { Op string Name string Alias string Key string Path string Tables []string DB *TblDB Table *TblTable }
Property query 基础属性
type TblDB ¶
type TblDB struct { Id int `orm:"id,int,omitempty" json:"id,omitempty"` Name string `orm:"name,string" json:"name,omitempty"` // 数据库名称 Intro string `orm:"intro,string" json:"intro,omitempty"` // 中文简介 Desc string `orm:"desc,string" json:"desc,omitempty"` // 详细介绍 ProductID int `orm:"product_id,int,omitempty" json:"product_id,omitempty"` // 产品id Creator uint64 `orm:"creator,uint64,omitempty" json:"creator,omitempty"` // Creator Manager string `orm:"manager,string" json:"manager,omitempty"` // 管理员,多个逗号分隔 Status int8 `orm:"status,int8" json:"status,omitempty"` // 1-正常 2-下线 CreatedAt time.Time `orm:"created_at,datetime,omitempty" json:"created_at"` // 记录创建时间 UpdatedAt time.Time `orm:"updated_at,datetime,omitempty" json:"updated_at"` // 记录最后修改时间 // db params WriteTimeoutTmp int `orm:"write_timeout,int" json:"write_timeout,omitempty"` // 写超时(毫秒) ReadTimeoutTmp int `orm:"read_timeout,int" json:"read_timeout,omitempty"` // 读超时(毫秒) WarnTimeoutTmp int `orm:"warn_timeout,int" json:"warn_timeout,omitempty"` // 告警超时(ms),如果请求耗时超过这个时间,就会打 warning 日志 OmitErrorTmp int8 `orm:"omit_error,int8" json:"omit_error,omitempty"` // 是否忽略 error 日志,0-否 1-是 DebugTmp int8 `orm:"debug,int8" json:"debug,omitempty"` // 是否开启 debug 日志,正常的数据库请求也会被打印到日志,0-否 1-是,会造成海量日志,慎重开启 // db address Type int `orm:"type,int" json:"type,omitempty"` // 数据库类型 0-nil(仅执行插件) 1-elastic 2-mongo 3-redis 10-mysql 11-postgresql 12-clickhouse 13-oracle 14-DB2 15-sqlite Version string `orm:"version,string" json:"version,omitempty"` // 数据库版本,比如elastic v6,v7 Network string `orm:"network,string" json:"network,omitempty"` // network Address string `orm:"address,string" json:"address,omitempty"` // address BakAddress string `orm:"bak_address,string" json:"bak_address,omitempty"` // backup address Addr *util.DBAddress }
type TblTable ¶
type TblTable struct { Id int `orm:"id,int,omitempty" json:"id"` Name string `orm:"name,string" json:"name"` // 数据名称(执行单元名) Namespace string `orm:"namespace,string" json:"namespace"` // 命名空间,当出现重名表的时候,用 namespace::name 来访问数据库,默认为库名 Intro string `orm:"intro,string" json:"intro"` // 中文简介 Desc string `orm:"desc,string" json:"desc"` // 详细描述 TableVerify string `orm:"table_verify,string" json:"table_verify"` // 表校验,为空时不校验,默认同 name,即只允许访问 name 表/索引 DB int `orm:"db,int" json:"db"` // 所属数据库 Definition string `orm:"definition,string" json:"definition"` // 表定义 TableFields string `orm:"table_fields,string" json:"table_fields"` // 表字段 TableIndexs string `orm:"table_indexs,string" json:"table_indexs"` // 表索引 Status int8 `orm:"status,int8" json:"status"` // 1-正常 2-下线 Creator uint64 `orm:"creator,uint64,omitempty" json:"creator,omitempty"` // Creator CreatedAt time.Time `orm:"created_at,datetime,omitempty" json:"created_at"` // 记录创建时间 UpdatedAt time.Time `orm:"updated_at,datetime,omitempty" json:"updated_at"` // 记录最后修改时间 }
type TransInfo ¶
type TransInfo struct { Trans *Tree // 事务下的查询节点 Rollback bool // 是否回滚 TxClients map[string]client.Client // sql 事务执行 client,(目前仅支持 sql 的事务 commit、rollback) DBs []string // 参与事务的所有 db。 }
TransInfo 事务信息
func (*TransInfo) ResetTxClient ¶
func (ti *TransInfo) ResetTxClient()
type Tree ¶
type Tree struct { Name string // 查询名 Next *Tree // 同层级下一个查询节点 Last *Tree // 同层级上一个查询节点 Sub *Tree // 嵌套子查询节点 Parent *Tree // 父查询节点 Real *Tree // 真实查询信息存储节点 SubQuery []*Tree // 子查询实际执行节点 HasSub bool // 是否包含子查询 IsSub bool // 本节点是否是子查询 InTrans bool // 本节点是否在事务中 // 返回结果 Finished int8 // 查询单元是否执行完毕 0-未执行 1-已执行 2-待回滚 ParentRet interface{} // 父查询的多条结果记录分别存入各个子查询。 IsNil bool // 结果为空 Detail *proto.Detail // 查询细节信息 Result interface{} // 查询结果 Error error // 查询错误 // 查询信息 Unit *proto.Unit // 查询单元 Property *Property // query 基础属性 // 事务 TransInfo *TransInfo // 事务信息 }
Tree 查询分析树
func (*Tree) SetProperty ¶
SetProperty 设置查询属性
Click to show internal directories.
Click to hide internal directories.