Documentation ¶
Index ¶
- Constants
- Variables
- func And(column Column, operator OP) conditions
- func AndRaw(query string, values ...interface{}) conditions
- func CheckRowScanErr(scanErr error) (has bool, err error)
- func ExecMigrate(db *Database, ptr interface{}) (err error)
- func NanoID24() string
- func OnlyUseInTestToUpdates(t *testing.T, list []Update) updates
- func OrGroup(conditions ...Condition) conditions
- func PlaceholderSlice(slice interface{}) (placeholder string)
- func RowsAffected(result Result, execErr error) (affected int64, err error)
- func Set(column Column, value interface{}) updates
- func SetMap(data map[Column]interface{}) updates
- func SetRaw(query string, value ...interface{}) updates
- func ToConditions(c []Condition) conditions
- func UUID() string
- func UUID32() string
- type API
- type BytesIDLister
- type Column
- type Condition
- type Consume
- type CreateTimeUpdateTime
- type CreatedAtUpdatedAt
- type Database
- func (db *Database) Begin(ctx context.Context, level sql.IsolationLevel, handle func(tx *T) TxResult) (rollbackNoError bool, err error)
- func (db *Database) BeginOpt(ctx context.Context, opt sql.TxOptions, handle func(tx *T) TxResult) (rollbackNoError bool, err error)
- func (db *Database) ClearTestData(ctx context.Context, from Tabler, qb QB) (err error)
- func (db *Database) Close() error
- func (db *Database) ConsumeMessage(ctx context.Context, consume Consume) error
- func (db *Database) Count(ctx context.Context, from Tabler, qb QB) (count uint64, err error)
- func (db *Database) Exec(ctx context.Context, query string, values []interface{}) (result Result, err error)
- func (db *Database) ExecQB(ctx context.Context, qb QB, statement Statement) (result Result, err error)
- func (db *Database) ExecQBAffected(ctx context.Context, qb QB, statement Statement) (affected int64, err error)
- func (db *Database) HardDelete(ctx context.Context, from Tabler, qb QB) (err error)
- func (db *Database) HardDeleteAffected(ctx context.Context, from Tabler, qb QB) (affected int64, err error)
- func (db *Database) Has(ctx context.Context, from Tabler, qb QB) (has bool, err error)
- func (db *Database) InitQueue(ctx context.Context, queueName string) (err error)
- func (db *Database) Insert(ctx context.Context, qb QB) (result Result, err error)
- func (db *Database) InsertAffected(ctx context.Context, qb QB) (affected int64, err error)
- func (db *Database) InsertModel(ctx context.Context, ptr Model, qb QB) (err error)
- func (db *Database) InsertModelAffected(ctx context.Context, ptr Model, qb QB) (affected int64, err error)
- func (db *Database) LastQueryCost(ctx context.Context) (lastQueryCost float64, err error)
- func (db *Database) Ping(ctx context.Context) error
- func (db *Database) PrintLastQueryCost(ctx context.Context)
- func (db *Database) PublishMessage(ctx context.Context, queueName string, publish Publish) (message Message, err error)
- func (db *Database) Query(ctx context.Context, ptr Tabler, qb QB) (has bool, err error)
- func (db *Database) QueryRelation(ctx context.Context, ptr Relation, qb QB) (has bool, err error)
- func (db *Database) QueryRelationSlice(ctx context.Context, relationSlicePtr interface{}, qb QB) (err error)
- func (db *Database) QueryRow(ctx context.Context, qb QB, desc []interface{}) (has bool, err error)
- func (db *Database) QuerySlice(ctx context.Context, slicePtr interface{}, qb QB) (err error)
- func (db *Database) QuerySliceScaner(ctx context.Context, qb QB, scan Scaner) (err error)
- func (db *Database) SoftDelete(ctx context.Context, from Tabler, qb QB) (err error)
- func (db *Database) SoftDeleteAffected(ctx context.Context, from Tabler, qb QB) (affected int64, err error)
- func (db *Database) SumFloat64(ctx context.Context, from Tabler, column Column, qb QB) (value sql.NullFloat64, err error)
- func (db *Database) SumInt64(ctx context.Context, from Tabler, column Column, qb QB) (value sql.NullInt64, err error)
- func (db *Database) Update(ctx context.Context, from Tabler, qb QB) (err error)
- func (db *Database) UpdateAffected(ctx context.Context, from Tabler, qb QB) (affected int64, err error)
- type DeadLetterHandler
- type DeadLetterQueueMessage
- type DefaultLifeCycle
- type DefaultLog
- func (z DefaultLog) DPanic(message string, keysAndValues ...interface{})
- func (z DefaultLog) Debug(message string, keysAndValues ...interface{})
- func (z DefaultLog) Error(message string, keysAndValues ...interface{})
- func (z DefaultLog) Fatal(message string, keysAndValues ...interface{})
- func (z DefaultLog) Info(message string, keysAndValues ...interface{})
- func (z DefaultLog) Panic(message string, keysAndValues ...interface{})
- func (z DefaultLog) Sync() error
- func (z DefaultLog) Warn(message string, keysAndValues ...interface{})
- type DefaultSQLChecker
- type FromRaw
- type GMTCreateGMTModified
- type Insert
- type InsertMultiple
- type IntLister
- type Join
- type JoinType
- type Logger
- type Message
- func (Message) Ack() MessageResult
- func (v *Message) AfterInsert(result Result) error
- func (Message) DeadLetter(reason string, err error) MessageResult
- func (Message) Requeue(err error) MessageResult
- func (Message) RequeueDelay(duration time.Duration, err error) MessageResult
- func (message *Message) TableName() string
- type MessageResult
- type Model
- type MysqlDataSource
- type OP
- func Between(begin interface{}, end interface{}) OP
- func Equal(v interface{}) OP
- func GT(v interface{}) OP
- func GTE(v interface{}) OP
- func IF(condition bool, op OP) OP
- func In(slice interface{}) OP
- func IsNull() OP
- func LT(v interface{}) OP
- func LTE(v interface{}) OP
- func Like(s string) OP
- func LikeLeft(s string) OP
- func LikeRight(s string) OP
- func Multiple(ops []OP) OP
- func NotBetween(begin interface{}, end interface{}) OP
- func NotEqual(v interface{}) OP
- func SubQuery(symbol string, qb QB) OP
- type OrderBy
- type Publish
- type QB
- type Raw
- type Relation
- type Result
- type SQLChecker
- type Scaner
- func ScanBool(bools *[]bool) Scaner
- func ScanBytes(bytes *[][]byte) Scaner
- func ScanBytesLister(list BytesIDLister) Scaner
- func ScanInt64s(ints *[]int64) Scaner
- func ScanIntLister(list IntLister) Scaner
- func ScanInts(ints *[]int) Scaner
- func ScanStringLister(list StringLister) Scaner
- func ScanStrings(strings *[]string) Scaner
- func ScanTimes(times *[]time.Time) Scaner
- func ScanUint64s(ints *[]uint64) Scaner
- func ScanUintLister(list UintLister) Scaner
- func ScanUints(ints *[]uint) Scaner
- type SelectLock
- type SoftDeleteTime
- type SoftDeletedAt
- type SoftIsDeleted
- type Statement
- type Storager
- type StoragerCore
- type StringLister
- type T
- func (T) Commit() TxResult
- func (tx *T) Count(ctx context.Context, from Tabler, qb QB) (count uint64, err error)
- func (T) Error(err error) TxResult
- func (tx *T) Exec(ctx context.Context, query string, values []interface{}) (result Result, err error)
- func (tx *T) ExecQB(ctx context.Context, qb QB, statement Statement) (result Result, err error)
- func (tx *T) ExecQBAffected(ctx context.Context, qb QB, statement Statement) (affected int64, err error)
- func (tx *T) HardDelete(ctx context.Context, from Tabler, qb QB) (err error)
- func (tx *T) HardDeleteAffected(ctx context.Context, from Tabler, qb QB) (affected int64, err error)
- func (tx *T) Has(ctx context.Context, from Tabler, qb QB) (has bool, err error)
- func (tx *T) Insert(ctx context.Context, qb QB) (result Result, err error)
- func (tx *T) InsertAffected(ctx context.Context, qb QB) (affected int64, err error)
- func (tx *T) InsertModel(ctx context.Context, ptr Model, qb QB) (err error)
- func (tx *T) InsertModelAffected(ctx context.Context, ptr Model, qb QB) (affected int64, err error)
- func (tx *T) LastQueryCost(ctx context.Context) (lastQueryCost float64, err error)
- func (tx *T) PrintLastQueryCost(ctx context.Context)
- func (tx *T) PublishMessage(ctx context.Context, queueName string, publish Publish) (message Message, err error)
- func (tx *T) Query(ctx context.Context, ptr Tabler, qb QB) (has bool, err error)
- func (tx *T) QueryRelation(ctx context.Context, ptr Relation, qb QB) (has bool, err error)
- func (tx *T) QueryRelationSlice(ctx context.Context, relationSlicePtr interface{}, qb QB) (err error)
- func (tx *T) QueryRow(ctx context.Context, qb QB, desc []interface{}) (has bool, err error)
- func (tx *T) QuerySlice(ctx context.Context, slicePtr interface{}, qb QB) (err error)
- func (tx *T) QuerySliceScaner(ctx context.Context, qb QB, scan Scaner) error
- func (T) Rollback() TxResult
- func (T) RollbackWithError(err error) TxResult
- func (tx *T) SoftDelete(ctx context.Context, from Tabler, qb QB) (err error)
- func (tx *T) SoftDeleteAffected(ctx context.Context, from Tabler, qb QB) (affected int64, err error)
- func (tx *T) SumFloat64(ctx context.Context, from Tabler, column Column, qb QB) (value sql.NullFloat64, err error)
- func (tx *T) SumInt64(ctx context.Context, from Tabler, column Column, qb QB) (value sql.NullInt64, err error)
- func (tx *T) Update(ctx context.Context, from Tabler, qb QB) (err error)
- func (tx *T) UpdateAffected(ctx context.Context, from Tabler, qb QB) (affected int64, err error)
- type Tabler
- type Tag
- type TxResult
- type UintLister
- type UnionTable
- type Update
- type Values
- type WithoutSoftDelete
Constants ¶
View Source
const ( // 默认降序 ASC orderByType = iota DESC )
View Source
const ( LevelDefault sql.IsolationLevel = sql.LevelDefault LevelReadUncommitted sql.IsolationLevel = sql.LevelReadUncommitted LevelReadCommitted sql.IsolationLevel = sql.LevelReadCommitted LevelWriteCommitted sql.IsolationLevel = sql.LevelWriteCommitted LevelRepeatableRead sql.IsolationLevel = sql.LevelRepeatableRead LevelSnapshot sql.IsolationLevel = sql.LevelSnapshot LevelSerializable sql.IsolationLevel = sql.LevelSerializable LevelLinearizable sql.IsolationLevel = sql.LevelLinearizable )
View Source
const ( RC sql.IsolationLevel = sql.LevelReadCommitted RR sql.IsolationLevel = sql.LevelRepeatableRead )
Variables ¶
View Source
var Log = NewZapLogger()
Functions ¶
func CheckRowScanErr ¶
func ExecMigrate ¶
func NanoID24 ¶
func NanoID24() string
NanoID24 `A-Za-z0-9` 24 某些第三方接口需要外部订单号是大小写字母加数字,所以用`A-Za-z0-9` 24 比 默认的21更稳妥.
func OnlyUseInTestToUpdates ¶
func PlaceholderSlice ¶
func PlaceholderSlice(slice interface{}) (placeholder string)
func ToConditions ¶
func ToConditions(c []Condition) conditions
Types ¶
type API ¶
type API interface { // Ping 检查连通性 Ping(ctx context.Context) error // Close 关闭数据库连接 Close() error // Insert 插入数据 Insert(ctx context.Context, qb QB) (result Result, err error) // InsertAffected 插入数据(返回影响行数) InsertAffected(ctx context.Context, qb QB) (affected int64, err error) // InsertModel 基于 Model 创建数据, 根据 Model 字段自动填充 qb.Insert InsertModel(ctx context.Context, ptr Model, qb QB) (err error) // InsertModelAffected 基于 Model 创建数据 (返回影响行数) InsertModelAffected(ctx context.Context, ptr Model, qb QB) (affected int64, err error) // QueryRow 查询单行多列 类似 sql.Row{}.Scan() QueryRow(ctx context.Context, qb QB, desc []interface{}) (has bool, err error) // Query 查询单行多列并转换为结构体 Query(ctx context.Context, ptr Tabler, qb QB) (has bool, err error) // QuerySlice 查询多行并转换为结构体 QuerySlice(ctx context.Context, slicePtr interface{}, qb QB) (err error) // QuerySliceScaner 查询多行多列(自定义扫描) QuerySliceScaner(ctx context.Context, qb QB, scaner Scaner) (err error) QueryRelation(ctx context.Context, ptr Relation, qb QB) (has bool, err error) // QueryRelationSlice 查询多条数据并转换为 Relation slice QueryRelationSlice(ctx context.Context, relationSlicePtr interface{}, qb QB) (err error) // Count SELECT count(*) Count(ctx context.Context, from Tabler, qb QB) (count uint64, err error) // Has 查询数据是否存在(单条数据是否存在不建议使用 count 而是使用 Exist) Has(ctx context.Context, from Tabler, qb QB) (has bool, err error) SumInt64(ctx context.Context, from Tabler, column Column, qb QB) (value sql.NullInt64, err error) SumFloat64(ctx context.Context, from Tabler, column Column, qb QB) (value sql.NullFloat64, err error) // Update 更新 Update(ctx context.Context, from Tabler, qb QB) (err error) // UpdateAffected 更新(返回影响行数) UpdateAffected(ctx context.Context, from Tabler, qb QB) (affected int64, err error) // ClearTestData 删除测试数据库的数据,只能运行在 test_ 为前缀的数据库中 ClearTestData(ctx context.Context, form Tabler, qb QB) (err error) // HardDelete 硬删除(不可恢复) HardDelete(ctx context.Context, form Tabler, qb QB) (err error) // HardDeleteAffected 硬删除(不可恢复)(返回影响行数) HardDeleteAffected(ctx context.Context, form Tabler, qb QB) (affected int64, err error) // SoftDelete 软删除(可恢复) SoftDelete(ctx context.Context, form Tabler, qb QB) (err error) // SoftDeleteAffected 软删除(可恢复)(返回影响行数) SoftDeleteAffected(ctx context.Context, form Tabler, qb QB) (affected int64, err error) // ExecQB 执行QB ExecQB(ctx context.Context, qb QB, statement Statement) (result Result, err error) // ExecQBAffected 执行QB(返回影响行数) ExecQBAffected(ctx context.Context, qb QB, statement Statement) (affected int64, err error) // Exec 执行 Exec(ctx context.Context, query string, values []interface{}) (result Result, err error) // Begin 开启事务 Begin(ctx context.Context, level sql.IsolationLevel, handle func(tx *T) TxResult) (rollbackNoError bool, err error) BeginOpt(ctx context.Context, opt sql.TxOptions, handle func(tx *T) TxResult) (rollbackNoError bool, err error) // LastQueryCost show status like "last_query_cost" LastQueryCost(ctx context.Context) (lastQueryCost float64, err error) // PrintLastQueryCost 打印 show status like "last_query_cost" 的结果 PrintLastQueryCost(ctx context.Context) // PublishMessage 发布消息 PublishMessage(ctx context.Context, queueName string, publish Publish) (message Message, err error) // ConsumeMessage 消费消息 ConsumeMessage(ctx context.Context, consume Consume) error }
type BytesIDLister ¶
type BytesIDLister interface {
Append(data []byte)
}
type Column ¶
type Column string
func TagToColumns ¶
func TagToColumns(v interface{}) (columns []Column)
type Condition ¶
func ConditionRaw ¶
type CreateTimeUpdateTime ¶
type CreatedAtUpdatedAt ¶
type Database ¶
type Database struct { Core *sqlx.DB SQLChecker SQLChecker QueueTimeLocation *time.Location }
func (*Database) ClearTestData ¶
func (*Database) ConsumeMessage ¶
func (*Database) ExecQBAffected ¶
func (*Database) HardDelete ¶
func (*Database) HardDeleteAffected ¶
func (*Database) Has ¶
if you need query data exited SELECT "has" FROM user WHERE id = ? better than SELECT count(*) FROM user where id = ?
func (*Database) InsertAffected ¶
func (*Database) InsertModel ¶
func (*Database) InsertModelAffected ¶
func (*Database) LastQueryCost ¶
func (*Database) PrintLastQueryCost ¶
func (*Database) PublishMessage ¶
func (*Database) QueryRelation ¶
func (*Database) QueryRelationSlice ¶
func (*Database) QuerySlice ¶
func (*Database) QuerySliceScaner ¶
func (*Database) SoftDelete ¶
func (db *Database) hardDeleteModel(ctx context.Context, ptr Model, qb QB) (result Result, err error){ return coreHardDeleteModel(ctx,db, ptr, qb) }
func (tx *T) HardDeleteModel(ctx context.Context, ptr Model, qb QB) (result Result, err error){ return coreHardDeleteModel(ctx, tx, ptr, qb) }
func coreHardDeleteModel(ctx context.Context, storager Storager, ptr Model, qb QB) (result Result, err error) { defer func() { if err != nil { err = xerr.WithStack(err) } }() rValue := reflect.ValueOf(ptr) rType := rValue.Type() if rType.Kind() != reflect.Ptr { return result, xerr.New("UpdateModel(ctx, ptr) " + rType.String() + " must be ptr") } primaryKey, err := safeGetPrimaryKey(ptr); if err != nil { return } qb.From = ptr qb.Where = primaryKey qb.Limit = 1 qb.SQLChecker = storager.getSQLChecker() raw := qb.SQLDelete() qb.execDebugBefore(ctx, storager, StatementUpdate) defer qb.execDebugAfter(ctx, storager, StatementUpdate) return storager.getCore().ExecContext(ctx, raw.Query, raw.Values...) }
func (*Database) SoftDeleteAffected ¶
func (*Database) SumFloat64 ¶
type DeadLetterHandler ¶
type DeadLetterHandler interface { // HandleDeadLetter 将死信消息标记为已处理。 HandleDeadLetter(ctx context.Context, id uint64, remark string) (err error) // RequeueDeadLetter 将死信消息重新入队以重新处理。 RequeueDeadLetter(ctx context.Context, id uint64, publish Publish) (err error) // ArchiveHandledDeadLetter 将已处理过的死信消息归档以备将来分析 ArchiveHandledDeadLetter(ctx context.Context, ago time.Duration) (cleanCount bool, err error) }
type DeadLetterQueueMessage ¶
type DeadLetterQueueMessage struct { QueueName string ID uint64 `db:"id" sq:"ignoreInsert"` BusinessID uint64 `db:"business_id"` Reason string `db:"reason"` Handled bool `db:"handled"` HandledResult string `db:"handled_result"` CreateTime time.Time `db:"create_time"` DefaultLifeCycle WithoutSoftDelete }
func (*DeadLetterQueueMessage) AfterInsert ¶
func (v *DeadLetterQueueMessage) AfterInsert(result Result) error
func (*DeadLetterQueueMessage) TableName ¶
func (q *DeadLetterQueueMessage) TableName() string
type DefaultLifeCycle ¶
type DefaultLifeCycle struct { }
func (*DefaultLifeCycle) AfterInsert ¶
func (v *DefaultLifeCycle) AfterInsert(result Result) error
func (*DefaultLifeCycle) AfterUpdate ¶
func (v *DefaultLifeCycle) AfterUpdate() error
func (*DefaultLifeCycle) BeforeInsert ¶
func (v *DefaultLifeCycle) BeforeInsert() error
func (*DefaultLifeCycle) BeforeUpdate ¶
func (v *DefaultLifeCycle) BeforeUpdate() error
type DefaultLog ¶
type DefaultLog struct {
// contains filtered or unexported fields
}
func (DefaultLog) DPanic ¶
func (z DefaultLog) DPanic(message string, keysAndValues ...interface{})
func (DefaultLog) Debug ¶
func (z DefaultLog) Debug(message string, keysAndValues ...interface{})
func (DefaultLog) Error ¶
func (z DefaultLog) Error(message string, keysAndValues ...interface{})
func (DefaultLog) Fatal ¶
func (z DefaultLog) Fatal(message string, keysAndValues ...interface{})
func (DefaultLog) Info ¶
func (z DefaultLog) Info(message string, keysAndValues ...interface{})
func (DefaultLog) Panic ¶
func (z DefaultLog) Panic(message string, keysAndValues ...interface{})
func (DefaultLog) Sync ¶
func (z DefaultLog) Sync() error
func (DefaultLog) Warn ¶
func (z DefaultLog) Warn(message string, keysAndValues ...interface{})
type GMTCreateGMTModified ¶
type InsertMultiple ¶
type InsertMultiple struct { Column []Column Values [][]interface{} }
type JoinType ¶
type JoinType string
const CrossJoin JoinType = "CROSS JOIN"
const FullOuterJoin JoinType = "FULL OUTER JOIN"
const InnerJoin JoinType = "INNER JOIN"
const LeftJoin JoinType = "LEFT JOIN"
const RightJoin JoinType = "RIGHT JOIN"
type Logger ¶
type Logger interface { Debug(message string, keysAndValues ...interface{}) Info(message string, keysAndValues ...interface{}) Warn(message string, keysAndValues ...interface{}) Error(message string, keysAndValues ...interface{}) Sync() error }
func NewZapLogger ¶
func NewZapLogger() Logger
type Message ¶
type Message struct { QueueName string ID uint64 `db:"id" sq:"ignoreInsert"` BusinessID uint64 `db:"business_id"` NextConsumeTime time.Time `db:"next_consume_time"` ConsumeChance uint16 `db:"consume_chance"` MaxConsumeChance uint16 `db:"max_consume_chance"` UpdateID string `db:"update_id"` Priority uint8 `db:"priority"` CreateTime time.Time `db:"create_time"` DefaultLifeCycle WithoutSoftDelete // contains filtered or unexported fields }
func (Message) Ack ¶
func (Message) Ack() MessageResult
func (*Message) AfterInsert ¶
func (Message) DeadLetter ¶
func (Message) DeadLetter(reason string, err error) MessageResult
func (Message) Requeue ¶
func (Message) Requeue(err error) MessageResult
func (Message) RequeueDelay ¶
func (Message) RequeueDelay(duration time.Duration, err error) MessageResult
type MessageResult ¶
type MessageResult struct {
// contains filtered or unexported fields
}
func (MessageResult) WithError ¶
func (v MessageResult) WithError(err error) MessageResult
type MysqlDataSource ¶
type MysqlDataSource struct { User string `yaml:"user"` Password string `yaml:"password"` Host string `yaml:"host"` Port string `yaml:"port"` DB string `yaml:"db"` // DefaultQuery // map[string]string{ // "charset": "utf8", // "parseTime": "True", // "loc": "Local", // } Query map[string]string `yaml:"query"` }
func (MysqlDataSource) FormatDSN ¶
func (config MysqlDataSource) FormatDSN() (dataSourceName string)
type OP ¶
type OP struct { Query string Values []interface{} Symbol string Placeholder string Multiple []OP OrGroup []Condition Ignore bool }
func NotBetween ¶
func NotBetween(begin interface{}, end interface{}) OP
type QB ¶
type QB struct { Select []Column SelectRaw []Raw From Tabler FromRaw FromRaw DisableSoftDelete bool UnionTable UnionTable Index string Set []Update // UPDATE IGNORE UseUpdateIgnore bool Insert Values InsertMultiple InsertMultiple // INSERT IGNORE INTO UseInsertIgnoreInto bool Where []Condition WhereOR [][]Condition WhereRaw Raw WhereAllowEmpty bool OrderBy []OrderBy OrderByRaw Raw GroupBy []Column GroupByRaw Raw Having []Condition HavingRaw Raw Limit uint64 Offset uint64 Lock SelectLock Join []Join Raw Raw Debug bool PrintSQL bool Explain bool RunTime bool LastQueryCost bool Review string Reviews []string SQLChecker SQLChecker // contains filtered or unexported fields }
type Raw ¶
type Raw struct { Query string Values []interface{} }
func ConditionsSQL ¶
func (w conditions) OrGroup(conditions []Condition) conditions { op := OP{OrGroup: conditions} item := Condition{OP:op} w = append(w, item) return w }
type Result ¶
type Result struct {
// contains filtered or unexported fields
}
func (Result) LastInsertId ¶
func (Result) LastInsertUint64Id ¶
func (Result) RowsAffected ¶
type SQLChecker ¶
type Scaner ¶
func ScanBytesLister ¶
func ScanBytesLister(list BytesIDLister) Scaner
func ScanInt64s ¶
func ScanIntLister ¶
func ScanStringLister ¶
func ScanStringLister(list StringLister) Scaner
func ScanStrings ¶
func ScanUint64s ¶
func ScanUintLister ¶
func ScanUintLister(list UintLister) Scaner
type SelectLock ¶
type SelectLock string
const FORSHARE SelectLock = "FOR SHARE"
const FORUPDATE SelectLock = "FOR UPDATE"
func (SelectLock) String ¶
func (s SelectLock) String() string
type SoftDeleteTime ¶
type SoftDeleteTime struct{}
func (SoftDeleteTime) SoftDeleteSet ¶
func (SoftDeleteTime) SoftDeleteSet() Raw
func (SoftDeleteTime) SoftDeleteWhere ¶
func (SoftDeleteTime) SoftDeleteWhere() Raw
type SoftDeletedAt ¶
type SoftDeletedAt struct{}
func (SoftDeletedAt) SoftDeleteSet ¶
func (SoftDeletedAt) SoftDeleteSet() Raw
func (SoftDeletedAt) SoftDeleteWhere ¶
func (SoftDeletedAt) SoftDeleteWhere() Raw
type SoftIsDeleted ¶
type SoftIsDeleted struct{}
func (SoftIsDeleted) SoftDeleteSet ¶
func (SoftIsDeleted) SoftDeleteSet() Raw
func (SoftIsDeleted) SoftDeleteWhere ¶
func (SoftIsDeleted) SoftDeleteWhere() Raw
type Statement ¶
type Statement string
const StatementDelete Statement = "DELETE"
const StatementInsert Statement = "INSERT"
const StatementSelect Statement = "SELECT"
const StatementUpdate Statement = "UPDATE"
type StoragerCore ¶
type StringLister ¶
type StringLister interface {
Append(s string)
}
type T ¶
func (*T) ExecQBAffected ¶
func (*T) HardDeleteAffected ¶
func (*T) InsertAffected ¶
func (*T) InsertModelAffected ¶
func (*T) LastQueryCost ¶
func (*T) PrintLastQueryCost ¶
func (*T) PublishMessage ¶
func (*T) QueryRelation ¶
func (*T) QueryRelationSlice ¶
func (*T) QuerySlice ¶
func (*T) QuerySliceScaner ¶
func (T) RollbackWithError ¶
func (*T) SoftDeleteAffected ¶
func (*T) SumFloat64 ¶
type TxResult ¶
type TxResult struct {
// contains filtered or unexported fields
}
TxResult tx.Commit() commit transaction tx.Rollback() rollback transaction , rollbackNoError = true tx.Error(err) rollback transaction , rollbackNoError = false, err = err
type UintLister ¶
type UintLister interface {
Append(i uint)
}
type UnionTable ¶
func (UnionTable) SQLSelect ¶
func (union UnionTable) SQLSelect() (raw Raw)
type WithoutSoftDelete ¶
type WithoutSoftDelete struct{}
func (WithoutSoftDelete) SoftDeleteSet ¶
func (WithoutSoftDelete) SoftDeleteSet() Raw
func (WithoutSoftDelete) SoftDeleteWhere ¶
func (WithoutSoftDelete) SoftDeleteWhere() Raw
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
example
|
|
internal/model
Generate by https://goclub.run
|
Generate by https://goclub.run |
generics
module
|
Click to show internal directories.
Click to hide internal directories.