added SkipOutputStatement

This commit is contained in:
Emanuele Rocco Petrone 2023-03-28 11:08:13 +02:00
parent b444011d09
commit a90d464894

17
gorm.go
View File

@ -49,7 +49,8 @@ type Config struct {
CreateBatchSize int
// TranslateError enabling error translation
TranslateError bool
// SkipOutputStatement disable OUTPUT clause when inserting a row
SkipOutputStatement bool
// ClauseBuilders clause builder
ClauseBuilders map[string]clause.ClauseBuilder
// ConnPool db conn pool
@ -110,6 +111,7 @@ type Session struct {
AllowGlobalUpdate bool
FullSaveAssociations bool
QueryFields bool
SkipOutputStatement bool
Context context.Context
Logger logger.Interface
NowFunc func() time.Time
@ -224,6 +226,11 @@ func (db *DB) Session(config *Session) *DB {
clone: 1,
}
)
if config.SkipOutputStatement {
tx.Config.SkipOutputStatement = true
}
if config.CreateBatchSize > 0 {
tx.Config.CreateBatchSize = config.CreateBatchSize
}
@ -318,6 +325,14 @@ func (db *DB) Debug() (tx *DB) {
})
}
// Debug start debug mode
func (db *DB) SkipOutput() (tx *DB) {
tx = db.getInstance()
return tx.Session(&Session{
SkipOutputStatement: true,
})
}
// Set store value with key into current db instance's context
func (db *DB) Set(key string, value interface{}) *DB {
tx := db.getInstance()