Fix to add session.statement.IsForUpdate check in Session.queryRows() #2064

Merged
lunny merged 4 commits from rennnosuke/xorm:fix/exec_for_update_on_master into master 2021-11-24 02:29:40 +00:00

View File

@ -33,7 +33,7 @@ func (session *Session) queryRows(sqlStr string, args ...interface{}) (*core.Row
if session.isAutoCommit {
var db *core.DB
if session.sessionType == groupSession && strings.EqualFold(strings.TrimSpace(sqlStr)[:6], "select") {
if session.sessionType == groupSession && strings.EqualFold(strings.TrimSpace(sqlStr)[:6], "select") && !session.statement.IsForUpdate {
db = session.engine.engineGroup.Slave().DB()
} else {
db = session.DB()