From 9829026953cfd5476a2f17b995ce16778fcb696b Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Sat, 8 Nov 2014 18:51:42 +0800 Subject: [PATCH] cache support --- db_test.go | 5 +++-- dialect.go | 9 +++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/db_test.go b/db_test.go index cf4caf37..65bf2414 100644 --- a/db_test.go +++ b/db_test.go @@ -46,7 +46,7 @@ func testOpen() (*DB, error) { os.Remove("./test.db") return Open("sqlite3", "./test.db") case "mysql": - return Open("mysql", "root:@/core_test?charset=utf8&parseTime=true") + return Open("mysql", "root:@/core_test?charset=utf8") default: panic("no db type") } @@ -228,7 +228,8 @@ func BenchmarkSliceInterfaceQuery(b *testing.B) { if err != nil { b.Error(err) } - if slice[1].(string) != "xlw" { + fmt.Println(slice) + if *slice[1].(*string) != "xlw" { fmt.Println(slice) b.Error(errors.New("name should be xlw")) } diff --git a/dialect.go b/dialect.go index 54be5ac7..05375642 100644 --- a/dialect.go +++ b/dialect.go @@ -24,6 +24,7 @@ type Uri struct { // a dialect is a driver's wrapper type Dialect interface { + SetLogger(logger ILogger) Init(*DB, *Uri, string, string) error URI() *Uri DB() *DB @@ -85,6 +86,7 @@ type Base struct { dialect Dialect driverName string dataSourceName string + Logger ILogger *Uri } @@ -92,6 +94,10 @@ func (b *Base) DB() *DB { return b.db } +func (b *Base) SetLogger(logger ILogger) { + b.Logger = logger +} + func (b *Base) Init(db *DB, dialect Dialect, uri *Uri, drivername, dataSourceName string) error { b.db, b.dialect, b.Uri = db, dialect, uri b.driverName, b.dataSourceName = drivername, dataSourceName @@ -144,6 +150,9 @@ func (db *Base) DropTableSql(tableName string) string { func (db *Base) HasRecords(query string, args ...interface{}) (bool, error) { rows, err := db.DB().Query(query, args...) + if db.Logger != nil { + db.Logger.Info("[sql]", query, args) + } if err != nil { return false, err }