bug fxied for Sync2 when share the same struct between different tables

This commit is contained in:
Lunny Xiao 2016-03-10 09:39:25 +08:00
parent 1045aa020f
commit bfb5784ec5
4 changed files with 11 additions and 7 deletions

View File

@ -1 +1 @@
xorm v0.5.2.0306
xorm v0.5.2.0310

View File

@ -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

View File

@ -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

View File

@ -17,7 +17,7 @@ import (
)
const (
Version string = "0.5.2.0306"
Version string = "0.5.2.0310"
)
func regDrvsNDialects() bool {