cache support
This commit is contained in:
parent
3e0fa232ab
commit
9829026953
|
@ -46,7 +46,7 @@ func testOpen() (*DB, error) {
|
||||||
os.Remove("./test.db")
|
os.Remove("./test.db")
|
||||||
return Open("sqlite3", "./test.db")
|
return Open("sqlite3", "./test.db")
|
||||||
case "mysql":
|
case "mysql":
|
||||||
return Open("mysql", "root:@/core_test?charset=utf8&parseTime=true")
|
return Open("mysql", "root:@/core_test?charset=utf8")
|
||||||
default:
|
default:
|
||||||
panic("no db type")
|
panic("no db type")
|
||||||
}
|
}
|
||||||
|
@ -228,7 +228,8 @@ func BenchmarkSliceInterfaceQuery(b *testing.B) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
b.Error(err)
|
b.Error(err)
|
||||||
}
|
}
|
||||||
if slice[1].(string) != "xlw" {
|
fmt.Println(slice)
|
||||||
|
if *slice[1].(*string) != "xlw" {
|
||||||
fmt.Println(slice)
|
fmt.Println(slice)
|
||||||
b.Error(errors.New("name should be xlw"))
|
b.Error(errors.New("name should be xlw"))
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,6 +24,7 @@ type Uri struct {
|
||||||
|
|
||||||
// a dialect is a driver's wrapper
|
// a dialect is a driver's wrapper
|
||||||
type Dialect interface {
|
type Dialect interface {
|
||||||
|
SetLogger(logger ILogger)
|
||||||
Init(*DB, *Uri, string, string) error
|
Init(*DB, *Uri, string, string) error
|
||||||
URI() *Uri
|
URI() *Uri
|
||||||
DB() *DB
|
DB() *DB
|
||||||
|
@ -85,6 +86,7 @@ type Base struct {
|
||||||
dialect Dialect
|
dialect Dialect
|
||||||
driverName string
|
driverName string
|
||||||
dataSourceName string
|
dataSourceName string
|
||||||
|
Logger ILogger
|
||||||
*Uri
|
*Uri
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,6 +94,10 @@ func (b *Base) DB() *DB {
|
||||||
return b.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 {
|
func (b *Base) Init(db *DB, dialect Dialect, uri *Uri, drivername, dataSourceName string) error {
|
||||||
b.db, b.dialect, b.Uri = db, dialect, uri
|
b.db, b.dialect, b.Uri = db, dialect, uri
|
||||||
b.driverName, b.dataSourceName = drivername, dataSourceName
|
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) {
|
func (db *Base) HasRecords(query string, args ...interface{}) (bool, error) {
|
||||||
rows, err := db.DB().Query(query, args...)
|
rows, err := db.DB().Query(query, args...)
|
||||||
|
if db.Logger != nil {
|
||||||
|
db.Logger.Info("[sql]", query, args)
|
||||||
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue