From bfb5784ec53751216d2f78e7fa38bf5f09b3ed6f Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 10 Mar 2016 09:39:25 +0800 Subject: [PATCH] bug fxied for Sync2 when share the same struct between different tables --- VERSION | 2 +- session.go | 12 ++++++++---- statement.go | 2 +- xorm.go | 2 +- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/VERSION b/VERSION index 63cbd99a..dceee401 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -xorm v0.5.2.0306 +xorm v0.5.2.0310 diff --git a/session.go b/session.go index 565635bf..ab9f44b2 100644 --- a/session.go +++ b/session.go @@ -523,7 +523,8 @@ func (session *Session) Exec(sqlStr string, args ...interface{}) (sql.Result, er // this function create a table according a bean func (session *Session) CreateTable(bean interface{}) error { - session.Statement.RefTable = session.Engine.TableInfo(bean) + v := rValue(bean) + session.Statement.RefTable = session.Engine.mapType(v) defer session.resetStatement() if session.IsAutoClose { @@ -535,7 +536,8 @@ func (session *Session) CreateTable(bean interface{}) error { // create indexes func (session *Session) CreateIndexes(bean interface{}) error { - session.Statement.RefTable = session.Engine.TableInfo(bean) + v := rValue(bean) + session.Statement.RefTable = session.Engine.mapType(v) defer session.resetStatement() if session.IsAutoClose { @@ -554,7 +556,8 @@ func (session *Session) CreateIndexes(bean interface{}) error { // create uniques func (session *Session) CreateUniques(bean interface{}) error { - session.Statement.RefTable = session.Engine.TableInfo(bean) + v := rValue(bean) + session.Statement.RefTable = session.Engine.mapType(v) defer session.resetStatement() if session.IsAutoClose { @@ -4036,7 +4039,8 @@ func (s *Session) Sync2(beans ...interface{}) error { structTables := make([]*core.Table, 0) for _, bean := range beans { - table := engine.TableInfo(bean) + v := rValue(bean) + table := engine.mapType(v) structTables = append(structTables, table) var oriTable *core.Table diff --git a/statement.go b/statement.go index a1d3dd43..3848011d 100644 --- a/statement.go +++ b/statement.go @@ -857,7 +857,7 @@ func (statement *Statement) Cols(columns ...string) *Statement { } newColumns := statement.col2NewColsWithQuote(columns...) - fmt.Println("=====", columns, newColumns, cols) + //fmt.Println("=====", columns, newColumns, cols) statement.ColumnStr = strings.Join(newColumns, ", ") statement.ColumnStr = strings.Replace(statement.ColumnStr, statement.Engine.quote("*"), "*", -1) return statement diff --git a/xorm.go b/xorm.go index 04a4fb53..d03918e9 100644 --- a/xorm.go +++ b/xorm.go @@ -17,7 +17,7 @@ import ( ) const ( - Version string = "0.5.2.0306" + Version string = "0.5.2.0310" ) func regDrvsNDialects() bool {