mirror of https://github.com/go-gorm/gorm.git
Accept 0 as a value for Limit, Offset
This commit is contained in:
parent
b21c0bef9b
commit
a870874bb5
|
@ -124,12 +124,12 @@ func (s commonDialect) CurrentDatabase() (name string) {
|
||||||
|
|
||||||
func (commonDialect) LimitAndOffsetSQL(limit, offset interface{}) (sql string) {
|
func (commonDialect) LimitAndOffsetSQL(limit, offset interface{}) (sql string) {
|
||||||
if limit != nil {
|
if limit != nil {
|
||||||
if parsedLimit, err := strconv.ParseInt(fmt.Sprint(limit), 0, 0); err == nil && parsedLimit > 0 {
|
if parsedLimit, err := strconv.ParseInt(fmt.Sprint(limit), 0, 0); err == nil && parsedLimit >= 0 {
|
||||||
sql += fmt.Sprintf(" LIMIT %d", parsedLimit)
|
sql += fmt.Sprintf(" LIMIT %d", parsedLimit)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if offset != nil {
|
if offset != nil {
|
||||||
if parsedOffset, err := strconv.ParseInt(fmt.Sprint(offset), 0, 0); err == nil && parsedOffset > 0 {
|
if parsedOffset, err := strconv.ParseInt(fmt.Sprint(offset), 0, 0); err == nil && parsedOffset >= 0 {
|
||||||
sql += fmt.Sprintf(" OFFSET %d", parsedOffset)
|
sql += fmt.Sprintf(" OFFSET %d", parsedOffset)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -145,12 +145,12 @@ func (s mssql) CurrentDatabase() (name string) {
|
||||||
|
|
||||||
func (mssql) LimitAndOffsetSQL(limit, offset interface{}) (sql string) {
|
func (mssql) LimitAndOffsetSQL(limit, offset interface{}) (sql string) {
|
||||||
if offset != nil {
|
if offset != nil {
|
||||||
if parsedOffset, err := strconv.ParseInt(fmt.Sprint(offset), 0, 0); err == nil && parsedOffset > 0 {
|
if parsedOffset, err := strconv.ParseInt(fmt.Sprint(offset), 0, 0); err == nil && parsedOffset >= 0 {
|
||||||
sql += fmt.Sprintf(" OFFSET %d ROWS", parsedOffset)
|
sql += fmt.Sprintf(" OFFSET %d ROWS", parsedOffset)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if limit != nil {
|
if limit != nil {
|
||||||
if parsedLimit, err := strconv.ParseInt(fmt.Sprint(limit), 0, 0); err == nil && parsedLimit > 0 {
|
if parsedLimit, err := strconv.ParseInt(fmt.Sprint(limit), 0, 0); err == nil && parsedLimit >= 0 {
|
||||||
if sql == "" {
|
if sql == "" {
|
||||||
// add default zero offset
|
// add default zero offset
|
||||||
sql += " OFFSET 0 ROWS"
|
sql += " OFFSET 0 ROWS"
|
||||||
|
|
Loading…
Reference in New Issue