From d22a24775980e36182bf81ad85de09f934d9f9fb Mon Sep 17 00:00:00 2001 From: starChou Date: Thu, 31 Jul 2014 15:30:42 +0800 Subject: [PATCH 1/2] Update session.go fix stmt query of 'Get function' bug when an error occurred --- session.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/session.go b/session.go index f0a345b2..abf0d150 100644 --- a/session.go +++ b/session.go @@ -983,6 +983,9 @@ func (session *Session) Get(bean interface{}) (bool, error) { } // defer stmt.Close() // !nashtsai! don't close due to stmt is cached and bounded to this session rawRows, err = stmt.Query(args...) + if err != nil { + return false, err + } } else { rawRows, err = session.Tx.Query(sqlStr, args...) } From 89dc7bb0f7a45e9178e1448e4e89b48b5cd45ecd Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 5 Aug 2014 15:45:54 +0800 Subject: [PATCH 2/2] bug fixed for mssql limit --- session.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/session.go b/session.go index f0a345b2..08e94ba0 100644 --- a/session.go +++ b/session.go @@ -1106,6 +1106,11 @@ func (session *Session) Find(rowsSlicePtr interface{}, condiBean ...interface{}) sqlStr = session.Statement.genSelectSql(columnStr) args = append(session.Statement.Params, session.Statement.BeanArgs...) + // for mssql and use limit + qs := strings.Count(sqlStr, "?") + if len(args)*2 == qs { + args = append(args, args...) + } } else { sqlStr = session.Statement.RawSQL args = session.Statement.RawParams