diff --git a/gorm.go b/gorm.go index 4402a2df..38d3b3bf 100644 --- a/gorm.go +++ b/gorm.go @@ -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()