blob: 1176aee8a5f71a18dded297b6d698155ab4729e7 [file] [log] [blame]
package wrap
import (
"database/sql/driver"
"github.com/30x/apid-core"
"github.com/mattn/go-sqlite3"
)
type wrapStmt struct {
*sqlite3.SQLiteStmt
log apid.LogService
}
func (s *wrapStmt) Close() (err error) {
s.log.Debug("begin close stmt")
if err = s.SQLiteStmt.Close(); err != nil {
s.log.Debugf("close stmt failed: %s", err)
return
}
s.log.Debug("end close stmt")
return
}
func (s *wrapStmt) NumInput() int {
return s.SQLiteStmt.NumInput()
}
func (s *wrapStmt) Exec(args []driver.Value) (result driver.Result, err error) {
s.log.Debugf("begin exec: %#v", args)
result, err = s.SQLiteStmt.Exec(args)
if err != nil {
s.log.Errorf("failed exec: %s", err)
return
}
s.log.Debugf("end exec: %#v", result)
return
}
func (s *wrapStmt) Query(args []driver.Value) (rows driver.Rows, err error) {
s.log.Debugf("begin query: %#v", args)
rows, err = s.SQLiteStmt.Query(args)
if err != nil {
s.log.Errorf("failed query: %s", err)
return
}
s.log.Debugf("end query: %#v", rows)
return
}