From 769f6b3ae663248e8f1b1d8fecbe1eb26ac77ac7 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Wed, 16 Mar 2016 23:05:25 +0800 Subject: [PATCH] bug fixed --- VERSION | 2 +- examples/README.md | 5 ++++ examples/cache.go | 2 +- examples/cachegoroutine.go | 4 ++-- examples/conversion.go | 2 +- examples/derive.go | 4 ++-- examples/find.go | 49 ++++++++++++++++++++++++++++++++++++++ examples/maxconnect.go | 4 ++-- examples/singlemapping.go | 2 +- examples/sync.go | 2 +- examples/tables.go | 2 +- session.go | 6 ++--- xorm.go | 2 +- 13 files changed, 70 insertions(+), 16 deletions(-) create mode 100644 examples/README.md create mode 100644 examples/find.go diff --git a/VERSION b/VERSION index f8acb767..a75365fa 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -xorm v0.5.2.0314 +xorm v0.5.2.0316 diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 00000000..666c6cf9 --- /dev/null +++ b/examples/README.md @@ -0,0 +1,5 @@ +# Xorm Examples + +Notice: all the examples will ask you install extra package `github.com/mattn/go-sqlite3`, since it depends on cgo. You have to compile it after you install a c++ compile. Please see [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3). + +And then, you can run the examples via `go run xxx.go`. Every go file is a standalone example. diff --git a/examples/cache.go b/examples/cache.go index a86dfd2d..54525838 100644 --- a/examples/cache.go +++ b/examples/cache.go @@ -22,7 +22,7 @@ func main() { fmt.Println(err) return } - Orm.ShowSQL = true + Orm.ShowSQL(true) cacher := xorm.NewLRUCacher(xorm.NewMemoryStore(), 1000) Orm.SetDefaultCacher(cacher) diff --git a/examples/cachegoroutine.go b/examples/cachegoroutine.go index 0e50f5ad..6e2028b6 100644 --- a/examples/cachegoroutine.go +++ b/examples/cachegoroutine.go @@ -85,7 +85,7 @@ func main() { fmt.Println(err) return } - engine.ShowSQL = true + engine.ShowSQL(true) cacher := xorm.NewLRUCacher2(xorm.NewMemoryStore(), time.Hour, 1000) engine.SetDefaultCacher(cacher) fmt.Println(engine) @@ -95,7 +95,7 @@ func main() { fmt.Println("-----start mysql go routines-----") engine, err = mysqlEngine() - engine.ShowSQL = true + engine.ShowSQL(true) cacher = xorm.NewLRUCacher2(xorm.NewMemoryStore(), time.Hour, 1000) engine.SetDefaultCacher(cacher) if err != nil { diff --git a/examples/conversion.go b/examples/conversion.go index 1a74dea8..95736d0d 100644 --- a/examples/conversion.go +++ b/examples/conversion.go @@ -53,7 +53,7 @@ func main() { fmt.Println(err) return } - Orm.ShowSQL = true + Orm.ShowSQL(true) err = Orm.CreateTables(&User{}) if err != nil { fmt.Println(err) diff --git a/examples/derive.go b/examples/derive.go index 2a340060..fa1e0b1a 100644 --- a/examples/derive.go +++ b/examples/derive.go @@ -34,7 +34,7 @@ func main() { return } defer Orm.Close() - Orm.ShowSQL = true + Orm.ShowSQL(true) err = Orm.CreateTables(&User{}, &LoginInfo{}) if err != nil { fmt.Println(err) @@ -56,7 +56,7 @@ func main() { fmt.Println(info) infos := make([]LoginInfo1, 0) - err = Orm.Sql(`select *, (select name from user where id = login_info.user_id) as user_name from + err = Orm.Sql(`select *, (select name from user where id = login_info.user_id) as user_name from login_info limit 10`).Find(&infos) if err != nil { fmt.Println(err) diff --git a/examples/find.go b/examples/find.go new file mode 100644 index 00000000..e47bc28d --- /dev/null +++ b/examples/find.go @@ -0,0 +1,49 @@ +package main + +import ( + "fmt" + "os" + "time" + + "github.com/go-xorm/xorm" +) + +type User struct { + Id int64 + Name string + Created time.Time `xorm:"created"` + Updated time.Time `xorm:"updated"` +} + +func main() { + f := "conversion.db" + os.Remove(f) + + Orm, err := xorm.NewEngine("sqlite3", f) + if err != nil { + fmt.Println(err) + return + } + Orm.ShowSQL(true) + + err = Orm.CreateTables(&User{}) + if err != nil { + fmt.Println(err) + return + } + + _, err = Orm.Insert(&User{Id: 1, Name: "xlw"}) + if err != nil { + fmt.Println(err) + return + } + + users := make([]User, 0) + err = Orm.Find(&users) + if err != nil { + fmt.Println(err) + return + } + + fmt.Println(users) +} diff --git a/examples/maxconnect.go b/examples/maxconnect.go index 5f239d1e..4fdfdf78 100644 --- a/examples/maxconnect.go +++ b/examples/maxconnect.go @@ -33,7 +33,7 @@ func test(engine *xorm.Engine) { return } - engine.ShowSQL = true + engine.ShowSQL(true) engine.SetMaxOpenConns(5) size := 1000 @@ -91,7 +91,7 @@ func main() { fmt.Println(err) return } - engine.ShowSQL = true + engine.ShowSQL(true) fmt.Println(engine) test(engine) fmt.Println("------------------------") diff --git a/examples/singlemapping.go b/examples/singlemapping.go index f2d675b8..f6113827 100644 --- a/examples/singlemapping.go +++ b/examples/singlemapping.go @@ -32,7 +32,7 @@ func main() { fmt.Println(err) return } - Orm.ShowSQL = true + Orm.ShowSQL(true) err = Orm.CreateTables(&User{}, &LoginInfo{}) if err != nil { fmt.Println(err) diff --git a/examples/sync.go b/examples/sync.go index d108e455..8f2eaf21 100644 --- a/examples/sync.go +++ b/examples/sync.go @@ -65,7 +65,7 @@ func main() { fmt.Println(err) return } - Orm.ShowSQL = true + Orm.ShowSQL(true) err = sync(Orm) if err != nil { fmt.Println(err) diff --git a/examples/tables.go b/examples/tables.go index 97c842be..2087186f 100644 --- a/examples/tables.go +++ b/examples/tables.go @@ -20,7 +20,7 @@ func main() { return } defer orm.Close() - orm.ShowSQL = true + orm.ShowSQL(true) tables, err := orm.DBMetas() if err != nil { diff --git a/session.go b/session.go index 09b80916..475bee76 100644 --- a/session.go +++ b/session.go @@ -457,7 +457,7 @@ func (session *Session) scanMapIntoStruct(obj interface{}, objMap map[string][]b fieldValue = dataStruct.FieldByName(fieldName) } if !fieldValue.IsValid() || !fieldValue.CanSet() { - session.Engine.LogWarn("table %v's column %v is not valid or cannot set", + session.Engine.LogWarnf("table %v's column %v is not valid or cannot set", table.Name, key) continue } @@ -1568,7 +1568,7 @@ func (session *Session) dropAll() error { func (session *Session) getField(dataStruct *reflect.Value, key string, table *core.Table, idx int) *reflect.Value { var col *core.Column if col = table.GetColumnIdx(key, idx); col == nil { - session.Engine.LogWarn(fmt.Sprintf("table %v has no column %v. %v", table.Name, key, table.ColumnsSeq())) + session.Engine.LogWarnf("table %v has no column %v. %v", table.Name, key, table.ColumnsSeq()) return nil } @@ -1579,7 +1579,7 @@ func (session *Session) getField(dataStruct *reflect.Value, key string, table *c } if !fieldValue.IsValid() || !fieldValue.CanSet() { - session.Engine.LogWarn("table %v's column %v is not valid or cannot set", + session.Engine.LogWarnf("table %v's column %v is not valid or cannot set", table.Name, key) return nil } diff --git a/xorm.go b/xorm.go index 61f431d9..f493d8ac 100644 --- a/xorm.go +++ b/xorm.go @@ -17,7 +17,7 @@ import ( ) const ( - Version string = "0.5.2.0314" + Version string = "0.5.2.0316" ) func regDrvsNDialects() bool {