Allow negative number for limit

This commit is contained in:
Jinzhu
2020-09-11 11:50:13 +08:00
parent 5de7462466
commit 4fe70a2cc5

View File

@@ -2,6 +2,7 @@ package sqlite
import (
"database/sql"
"strconv"
"strings"
_ "github.com/mattn/go-sqlite3"
@@ -61,6 +62,21 @@ func (dialector Dialector) ClauseBuilders() map[string]clause.ClauseBuilder {
c.Build(builder)
},
"LIMIT": func(c clause.Clause, builder clause.Builder) {
if limit, ok := c.Expression.(clause.Limit); ok {
if limit.Limit > 0 {
builder.WriteString("LIMIT ")
builder.WriteString(strconv.Itoa(limit.Limit))
}
if limit.Offset > 0 {
if limit.Limit > 0 {
builder.WriteString(" ")
}
builder.WriteString("OFFSET ")
builder.WriteString(strconv.Itoa(limit.Offset))
}
}
},
}
}