From 5ae5bc982a8838a9cdb031b33f31cfddaedbf93b Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Fri, 16 Sep 2016 20:30:33 +0800 Subject: [PATCH] call after-events after autoincrement id set back to struct field --- VERSION | 2 +- session.go | 5 ++--- xorm.go | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/VERSION b/VERSION index 1ea68e08..a4fb7795 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -xorm v0.5.5.0907 +xorm v0.5.5.0916 diff --git a/session.go b/session.go index e254f325..cbeee8d4 100644 --- a/session.go +++ b/session.go @@ -3156,7 +3156,6 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) { colPlaces) handleAfterInsertProcessorFunc := func(bean interface{}) { - if session.IsAutoCommit { for _, closure := range session.afterClosures { closure(bean) @@ -3189,7 +3188,6 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) { if session.Engine.dialect.DBType() == core.ORACLE && len(table.AutoIncrement) > 0 { //assert table.AutoIncrement != "" res, err := session.query("select seq_atable.currval from dual", args...) - if err != nil { return 0, err } @@ -3281,7 +3279,8 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) { if err != nil { return 0, err } - handleAfterInsertProcessorFunc(bean) + + defer handleAfterInsertProcessorFunc(bean) if cacher := session.Engine.getCacher2(table); cacher != nil && session.Statement.UseCache { session.cacheInsert(session.Statement.TableName()) diff --git a/xorm.go b/xorm.go index 254a5e97..8fad97d4 100644 --- a/xorm.go +++ b/xorm.go @@ -17,7 +17,7 @@ import ( const ( // Version show the xorm's version - Version string = "0.5.5.0907" + Version string = "0.5.5.0916" ) func regDrvsNDialects() bool {