Merge branch 'master' into impr/column_flag

This commit is contained in:
Sergey 2016-11-11 21:25:15 +04:00 committed by GitHub
commit 5c096a97b9
2 changed files with 22 additions and 20 deletions

View File

@ -5,8 +5,6 @@ go:
- 1.7
before_install:
- sudo apt-get update -qq
- sudo apt-get install -y libpam-dev
install:
- go get github.com/go-xorm/core

View File

@ -1119,11 +1119,12 @@ func (session *Session) Count(bean interface{}) (int64, error) {
} else {
err = session.Tx.QueryRow(sqlStr, args...).Scan(&total)
}
if err != nil {
return 0, err
if err == sql.ErrNoRows || err == nil {
return total, nil
}
return total, nil
return 0, err
}
// Sum call sum some column. bean's non-empty fields are conditions.
@ -1151,11 +1152,11 @@ func (session *Session) Sum(bean interface{}, columnName string) (float64, error
} else {
err = session.Tx.QueryRow(sqlStr, args...).Scan(&res)
}
if err != nil {
return 0, err
}
return res, nil
if err == sql.ErrNoRows || err == nil {
return res, nil
}
return 0, err
}
// Sums call sum some columns. bean's non-empty fields are conditions.
@ -1183,11 +1184,11 @@ func (session *Session) Sums(bean interface{}, columnNames ...string) ([]float64
} else {
err = session.Tx.QueryRow(sqlStr, args...).ScanSlice(&res)
}
if err != nil {
return nil, err
}
return res, nil
if err == sql.ErrNoRows || err == nil {
return res, nil
}
return nil, err
}
// SumsInt sum specify columns and return as []int64 instead of []float64
@ -1215,11 +1216,11 @@ func (session *Session) SumsInt(bean interface{}, columnNames ...string) ([]int6
} else {
err = session.Tx.QueryRow(sqlStr, args...).ScanSlice(&res)
}
if err != nil {
return nil, err
}
return res, nil
if err == sql.ErrNoRows || err == nil {
return res, nil
}
return nil, err
}
func (session *Session) noCacheFind(sliceValue reflect.Value, sqlStr string, args ...interface{}) error {
@ -1499,10 +1500,13 @@ func (session *Session) isTableEmpty(tableName string) (bool, error) {
}
var total int64
sql := fmt.Sprintf("select count(*) from %s", session.Engine.Quote(tableName))
err := session.DB().QueryRow(sql).Scan(&total)
session.saveLastSQL(sql)
sqlStr := fmt.Sprintf("select count(*) from %s", session.Engine.Quote(tableName))
err := session.DB().QueryRow(sqlStr).Scan(&total)
session.saveLastSQL(sqlStr)
if err != nil {
if err == sql.ErrNoRows {
err = nil
}
return true, err
}