From 8c05434162274c068d885caed6ccb487936a2cb7 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 1 Mar 2016 18:23:33 +0800 Subject: [PATCH] bug fixed for engine.ShowExecTime --- VERSION | 2 +- engine.go | 1 - session.go | 37 +++++++++++++------------------------ syslogger.go | 1 + xorm.go | 2 +- 5 files changed, 16 insertions(+), 27 deletions(-) diff --git a/VERSION b/VERSION index 6fde5ec7..06731047 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -xorm v0.5.1.0229 +xorm v0.5.1.0301 diff --git a/engine.go b/engine.go index d226550c..6ae35958 100644 --- a/engine.go +++ b/engine.go @@ -219,7 +219,6 @@ func (engine *Engine) Ping() error { // logging sql func (engine *Engine) logSQL(sqlStr string, sqlArgs ...interface{}) { if engine.showSQL && !engine.showExecTime { - //engine.overrideLogLevel(core.LOG_INFO) if len(sqlArgs) > 0 { engine.logger.Infof("[sql] %v [args] %v", sqlStr, sqlArgs) } else { diff --git a/session.go b/session.go index d05456c8..23aee5a6 100644 --- a/session.go +++ b/session.go @@ -1057,16 +1057,7 @@ func (session *Session) Get(bean interface{}) (bool, error) { var err error session.queryPreprocess(&sqlStr, args...) if session.IsAutoCommit { - if session.prepareStmt { - stmt, errPrepare := session.doPrepare(sqlStr) - if errPrepare != nil { - return false, errPrepare - } - // defer stmt.Close() // !nashtsai! don't close due to stmt is cached and bounded to this session - rawRows, err = stmt.Query(args...) - } else { - rawRows, err = session.DB().Query(sqlStr, args...) - } + _, rawRows, err = session.innerQuery(sqlStr, args...) } else { rawRows, err = session.Tx.Query(sqlStr, args...) } @@ -1302,20 +1293,10 @@ func (session *Session) Find(rowsSlicePtr interface{}, condiBean ...interface{}) if sliceValue.Kind() != reflect.Map { var rawRows *core.Rows - var stmt *core.Stmt session.queryPreprocess(&sqlStr, args...) - if session.IsAutoCommit { - if session.prepareStmt { - stmt, err = session.doPrepare(sqlStr) - if err != nil { - return err - } - rawRows, err = stmt.Query(args...) - } else { - rawRows, err = session.DB().Query(sqlStr, args...) - } + _, rawRows, err = session.innerQuery(sqlStr, args...) } else { rawRows, err = session.Tx.Query(sqlStr, args...) } @@ -2049,7 +2030,7 @@ func (session *Session) query(sqlStr string, paramStr ...interface{}) (resultsSl session.queryPreprocess(&sqlStr, paramStr...) if session.IsAutoCommit { - return session.innerQuery(sqlStr, paramStr...) + return session.innerQuery2(sqlStr, paramStr...) } return session.txQuery(session.Tx, sqlStr, paramStr...) } @@ -2064,7 +2045,7 @@ func (session *Session) txQuery(tx *core.Tx, sqlStr string, params ...interface{ return rows2maps(rows) } -func (session *Session) innerQuery(sqlStr string, params ...interface{}) ([]map[string][]byte, error) { +func (session *Session) innerQuery(sqlStr string, params ...interface{}) (*core.Stmt, *core.Rows, error) { var callback func() (*core.Stmt, *core.Rows, error) if session.prepareStmt { callback = func() (*core.Stmt, *core.Rows, error) { @@ -2087,7 +2068,15 @@ func (session *Session) innerQuery(sqlStr string, params ...interface{}) ([]map[ return nil, rows, err } } - _, rows, err := session.Engine.logSQLQueryTime(sqlStr, params, callback) + stmt, rows, err := session.Engine.logSQLQueryTime(sqlStr, params, callback) + if err != nil { + return nil, nil, err + } + return stmt, rows, nil +} + +func (session *Session) innerQuery2(sqlStr string, params ...interface{}) ([]map[string][]byte, error) { + _, rows, err := session.innerQuery(sqlStr, params...) if rows != nil { defer rows.Close() } diff --git a/syslogger.go b/syslogger.go index 86323fa2..40ad7cab 100644 --- a/syslogger.go +++ b/syslogger.go @@ -15,6 +15,7 @@ import ( var _ core.ILogger = &SyslogLogger{} +// SyslogLogger will be depricated type SyslogLogger struct { w *syslog.Writer showSQL bool diff --git a/xorm.go b/xorm.go index ed9e4b4e..35872b4d 100644 --- a/xorm.go +++ b/xorm.go @@ -17,7 +17,7 @@ import ( ) const ( - Version string = "0.5.1.0229" + Version string = "0.5.1.0301" ) func regDrvsNDialects() bool {