From 37e2a03a61d04c7a8102d93568ad0ab418f0ff67 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 1 Sep 2016 10:15:12 +0800 Subject: [PATCH] resolved #445: sum returned error when no condition matched --- VERSION | 2 +- statement.go | 2 +- xorm.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/VERSION b/VERSION index 871cfe02..c9ec25d0 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -xorm v0.5.5.0822 +xorm v0.5.5.0901 diff --git a/statement.go b/statement.go index 8119d8a2..8fee89d7 100644 --- a/statement.go +++ b/statement.go @@ -1219,7 +1219,7 @@ func (statement *Statement) genSumSql(bean interface{}, columns ...string) (stri statement.attachInSql() var sumStrs = make([]string, 0, len(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...), statement.BeanArgs...), statement.inParams...) diff --git a/xorm.go b/xorm.go index 7c2461b6..dda4a001 100644 --- a/xorm.go +++ b/xorm.go @@ -17,7 +17,7 @@ import ( const ( // Version show the xorm's version - Version string = "0.5.5.0822" + Version string = "0.5.5.0901" ) func regDrvsNDialects() bool {