1
0
mirror of https://github.com/astaxie/beego.git synced 2024-11-22 12:50:55 +00:00

Merge pull request #3992 from maxshine/fix-3991

[Fix-Issue-3991] Fix Read with SQLite not supporting SELECT FOR UPDAT…
This commit is contained in:
Ming Deng 2020-06-06 13:10:08 +08:00 committed by GitHub
commit ae15b54f83
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -17,6 +17,8 @@ package orm
import ( import (
"database/sql" "database/sql"
"fmt" "fmt"
"reflect"
"time"
) )
// sqlite operators. // sqlite operators.
@ -66,6 +68,14 @@ type dbBaseSqlite struct {
var _ dbBaser = new(dbBaseSqlite) var _ dbBaser = new(dbBaseSqlite)
// override base db read for update behavior as SQlite does not support syntax
func (d *dbBaseSqlite) Read(q dbQuerier, mi *modelInfo, ind reflect.Value, tz *time.Location, cols []string, isForUpdate bool) error {
if isForUpdate {
DebugLog.Println("[WARN] SQLite does not support SELECT FOR UPDATE query, isForUpdate param is ignored and always as false to do the work")
}
return d.dbBase.Read(q, mi, ind, tz, cols, false)
}
// get sqlite operator. // get sqlite operator.
func (d *dbBaseSqlite) OperatorSQL(operator string) string { func (d *dbBaseSqlite) OperatorSQL(operator string) string {
return sqliteOperators[operator] return sqliteOperators[operator]