resolved #445: sum returned error when no condition matched

This commit is contained in:
Lunny Xiao 2016-09-01 10:15:12 +08:00
parent db48d70fd0
commit 37e2a03a61
3 changed files with 3 additions and 3 deletions

View File

@ -1 +1 @@
xorm v0.5.5.0822 xorm v0.5.5.0901

View File

@ -1219,7 +1219,7 @@ func (statement *Statement) genSumSql(bean interface{}, columns ...string) (stri
statement.attachInSql() statement.attachInSql()
var sumStrs = make([]string, 0, len(columns)) var sumStrs = make([]string, 0, len(columns))
for _, colName := range columns { for _, colName := range columns {
sumStrs = append(sumStrs, fmt.Sprintf("sum(%s)", colName)) sumStrs = append(sumStrs, fmt.Sprintf("COALESCE(sum(%s),0)", colName))
} }
return statement.genSelectSQL(strings.Join(sumStrs, ", ")), append(append(append(statement.joinArgs, statement.Params...), return statement.genSelectSQL(strings.Join(sumStrs, ", ")), append(append(append(statement.joinArgs, statement.Params...),
statement.BeanArgs...), statement.inParams...) statement.BeanArgs...), statement.inParams...)

View File

@ -17,7 +17,7 @@ import (
const ( const (
// Version show the xorm's version // Version show the xorm's version
Version string = "0.5.5.0822" Version string = "0.5.5.0901"
) )
func regDrvsNDialects() bool { func regDrvsNDialects() bool {