cache support

This commit is contained in:
Lunny Xiao 2014-11-08 18:51:42 +08:00
parent 3e0fa232ab
commit 9829026953
2 changed files with 12 additions and 2 deletions

View File

@ -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"))
}

View File

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