cache support
This commit is contained in:
parent
3e0fa232ab
commit
9829026953
|
@ -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"))
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue