diff --git a/session_tx.go b/session_tx.go index 6da9ecb4..7a4861c6 100644 --- a/session_tx.go +++ b/session_tx.go @@ -63,9 +63,6 @@ func (session *Session) Commit() error { SQL: "COMMIT", }) err := session.tx.Commit() - if err != nil { - return err - } session.engine.logger.AfterSQL(log.LogContext{ Ctx: session.ctx, SQL: "COMMIT", @@ -73,6 +70,10 @@ func (session *Session) Commit() error { Err: err, }) + if err != nil { + return err + } + // handle processors after tx committed closureCallFunc := func(closuresPtr *[]func(interface{}), bean interface{}) { if closuresPtr != nil { diff --git a/tags/parser_test.go b/tags/parser_test.go index 929b3718..6065bf2e 100644 --- a/tags/parser_test.go +++ b/tags/parser_test.go @@ -1,4 +1,4 @@ -// Copyright 2017 The Xorm Authors. All rights reserved. +// Copyright 2020 The Xorm Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. @@ -37,4 +37,8 @@ func TestParseTableName(t *testing.T) { table, err = parser.Parse(reflect.ValueOf(new(ParseTableName2))) assert.NoError(t, err) assert.EqualValues(t, "p_parseTableName", table.Name) + + table, err = parser.Parse(reflect.ValueOf(ParseTableName2{})) + assert.NoError(t, err) + assert.EqualValues(t, "p_parseTableName", table.Name) }