mirror of
https://github.com/glebarez/sqlite.git
synced 2025-10-05 07:36:58 +08:00
Allow negative number for limit
This commit is contained in:
16
sqlite.go
16
sqlite.go
@@ -2,6 +2,7 @@ package sqlite
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"database/sql"
|
"database/sql"
|
||||||
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
_ "github.com/mattn/go-sqlite3"
|
_ "github.com/mattn/go-sqlite3"
|
||||||
@@ -61,6 +62,21 @@ func (dialector Dialector) ClauseBuilders() map[string]clause.ClauseBuilder {
|
|||||||
|
|
||||||
c.Build(builder)
|
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))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user