Fix change limit.Limit type

This commit is contained in:
Jinzhu
2022-10-07 19:34:35 +08:00
parent fd61679859
commit ea59bcf5bc
3 changed files with 9 additions and 9 deletions

2
go.mod
View File

@@ -5,5 +5,5 @@ go 1.14
require ( require (
github.com/jinzhu/now v1.1.5 // indirect github.com/jinzhu/now v1.1.5 // indirect
github.com/mattn/go-sqlite3 v1.14.15 github.com/mattn/go-sqlite3 v1.14.15
gorm.io/gorm v1.23.4 gorm.io/gorm v1.23.10
) )

4
go.sum
View File

@@ -5,5 +5,5 @@ github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
github.com/mattn/go-sqlite3 v1.14.15 h1:vfoHhTN1af61xCRSWzFIWzx2YskyMTwHLrExkBOjvxI= github.com/mattn/go-sqlite3 v1.14.15 h1:vfoHhTN1af61xCRSWzFIWzx2YskyMTwHLrExkBOjvxI=
github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
gorm.io/gorm v1.23.4 h1:1BKWM67O6CflSLcwGQR7ccfmC4ebOxQrTfOQGRE9wjg= gorm.io/gorm v1.23.10 h1:4Ne9ZbzID9GUxRkllxN4WjJKpsHx8YbKvekVdgyWh24=
gorm.io/gorm v1.23.4/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= gorm.io/gorm v1.23.10/go.mod h1:DVrVomtaYTbqs7gB/x2uVvqnXzv0nqjB396B8cG4dBA=

View File

@@ -97,13 +97,13 @@ func (dialector Dialector) ClauseBuilders() map[string]clause.ClauseBuilder {
}, },
"LIMIT": func(c clause.Clause, builder clause.Builder) { "LIMIT": func(c clause.Clause, builder clause.Builder) {
if limit, ok := c.Expression.(clause.Limit); ok { if limit, ok := c.Expression.(clause.Limit); ok {
if (limit.Limit != nil && *limit.Limit >= 0) || limit.Offset > 0 { var lmt = -1
if *limit.Limit <= 0 { if limit.Limit != nil && *limit.Limit >= 0 {
i := -1 lmt = *limit.Limit
limit.Limit = &i
} }
if lmt > 0 || limit.Offset > 0 {
builder.WriteString("LIMIT ") builder.WriteString("LIMIT ")
builder.WriteString(strconv.Itoa(*limit.Limit)) builder.WriteString(strconv.Itoa(lmt))
} }
if limit.Offset > 0 { if limit.Offset > 0 {
builder.WriteString(" OFFSET ") builder.WriteString(" OFFSET ")