DryRun for RowQuery, Exec, close #3106

This commit is contained in:
Jinzhu 2020-07-04 08:33:10 +08:00
parent 90a40361ed
commit 89ea62077d
2 changed files with 7 additions and 5 deletions

View File

@ -5,7 +5,7 @@ import (
)
func RawExec(db *gorm.DB) {
if db.Error == nil {
if db.Error == nil && !db.DryRun {
result, err := db.Statement.ConnPool.ExecContext(db.Statement.Context, db.Statement.SQL.String(), db.Statement.Vars...)
if err != nil {
db.AddError(err)

View File

@ -10,10 +10,12 @@ func RowQuery(db *gorm.DB) {
BuildQuerySQL(db)
}
if _, ok := db.Get("rows"); ok {
db.Statement.Dest, db.Error = db.Statement.ConnPool.QueryContext(db.Statement.Context, db.Statement.SQL.String(), db.Statement.Vars...)
} else {
db.Statement.Dest = db.Statement.ConnPool.QueryRowContext(db.Statement.Context, db.Statement.SQL.String(), db.Statement.Vars...)
if !db.DryRun {
if _, ok := db.Get("rows"); ok {
db.Statement.Dest, db.Error = db.Statement.ConnPool.QueryContext(db.Statement.Context, db.Statement.SQL.String(), db.Statement.Vars...)
} else {
db.Statement.Dest = db.Statement.ConnPool.QueryRowContext(db.Statement.Context, db.Statement.SQL.String(), db.Statement.Vars...)
}
}
}
}