Rervert ff8e6729ce
This commit is contained in:
26
sqlite3.go
26
sqlite3.go
@@ -132,7 +132,7 @@ func (c *SQLiteConn) exec(cmd string) error {
|
||||
defer C.free(unsafe.Pointer(pcmd))
|
||||
rv := C.sqlite3_exec(c.db, pcmd, nil, nil, nil)
|
||||
if rv != C.SQLITE_OK {
|
||||
return ErrNo(rv)
|
||||
return errors.New(C.GoString(C.sqlite3_errmsg(c.db)))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -145,10 +145,6 @@ func (c *SQLiteConn) Begin() (driver.Tx, error) {
|
||||
return &SQLiteTx{c}, nil
|
||||
}
|
||||
|
||||
func errorString(err ErrNo) string {
|
||||
return C.GoString(C.sqlite3_errstr(C.int(err)))
|
||||
}
|
||||
|
||||
// Open database and return a new connection.
|
||||
// You can specify DSN string with URI filename.
|
||||
// test.db
|
||||
@@ -169,7 +165,7 @@ func (d *SQLiteDriver) Open(dsn string) (driver.Conn, error) {
|
||||
C.SQLITE_OPEN_CREATE,
|
||||
nil)
|
||||
if rv != 0 {
|
||||
return nil, ErrNo(rv)
|
||||
return nil, errors.New(C.GoString(C.sqlite3_errmsg(db)))
|
||||
}
|
||||
if db == nil {
|
||||
return nil, errors.New("sqlite succeeded without returning a database")
|
||||
@@ -177,7 +173,7 @@ func (d *SQLiteDriver) Open(dsn string) (driver.Conn, error) {
|
||||
|
||||
rv = C.sqlite3_busy_timeout(db, 5000)
|
||||
if rv != C.SQLITE_OK {
|
||||
return nil, ErrNo(rv)
|
||||
return nil, errors.New(C.GoString(C.sqlite3_errmsg(db)))
|
||||
}
|
||||
|
||||
return &SQLiteConn{db}, nil
|
||||
@@ -192,7 +188,7 @@ func (c *SQLiteConn) Close() error {
|
||||
}
|
||||
rv := C.sqlite3_close(c.db)
|
||||
if rv != C.SQLITE_OK {
|
||||
return ErrNo(rv)
|
||||
return errors.New("error while closing sqlite database connection")
|
||||
}
|
||||
c.db = nil
|
||||
return nil
|
||||
@@ -206,7 +202,7 @@ func (c *SQLiteConn) Prepare(query string) (driver.Stmt, error) {
|
||||
var perror *C.char
|
||||
rv := C.sqlite3_prepare_v2(c.db, pquery, -1, &s, &perror)
|
||||
if rv != C.SQLITE_OK {
|
||||
return nil, ErrNo(rv)
|
||||
return nil, errors.New(C.GoString(C.sqlite3_errmsg(c.db)))
|
||||
}
|
||||
var t string
|
||||
if perror != nil && C.strlen(perror) > 0 {
|
||||
@@ -226,7 +222,7 @@ func (s *SQLiteStmt) Close() error {
|
||||
}
|
||||
rv := C.sqlite3_finalize(s.s)
|
||||
if rv != C.SQLITE_OK {
|
||||
return ErrNo(rv)
|
||||
return errors.New(C.GoString(C.sqlite3_errmsg(s.c.db)))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -239,7 +235,7 @@ func (s *SQLiteStmt) NumInput() int {
|
||||
func (s *SQLiteStmt) bind(args []driver.Value) error {
|
||||
rv := C.sqlite3_reset(s.s)
|
||||
if rv != C.SQLITE_ROW && rv != C.SQLITE_OK && rv != C.SQLITE_DONE {
|
||||
return ErrNo(rv)
|
||||
return errors.New(C.GoString(C.sqlite3_errmsg(s.c.db)))
|
||||
}
|
||||
|
||||
for i, v := range args {
|
||||
@@ -284,7 +280,7 @@ func (s *SQLiteStmt) bind(args []driver.Value) error {
|
||||
rv = C._sqlite3_bind_text(s.s, n, (*C.char)(unsafe.Pointer(&b[0])), C.int(len(b)))
|
||||
}
|
||||
if rv != C.SQLITE_OK {
|
||||
return ErrNo(rv)
|
||||
return errors.New(C.GoString(C.sqlite3_errmsg(s.c.db)))
|
||||
}
|
||||
}
|
||||
return nil
|
||||
@@ -315,7 +311,7 @@ func (s *SQLiteStmt) Exec(args []driver.Value) (driver.Result, error) {
|
||||
}
|
||||
rv := C.sqlite3_step(s.s)
|
||||
if rv != C.SQLITE_ROW && rv != C.SQLITE_OK && rv != C.SQLITE_DONE {
|
||||
return nil, ErrNo(rv)
|
||||
return nil, errors.New(C.GoString(C.sqlite3_errmsg(s.c.db)))
|
||||
}
|
||||
|
||||
res := &SQLiteResult{
|
||||
@@ -329,7 +325,7 @@ func (s *SQLiteStmt) Exec(args []driver.Value) (driver.Result, error) {
|
||||
func (rc *SQLiteRows) Close() error {
|
||||
rv := C.sqlite3_reset(rc.s.s)
|
||||
if rv != C.SQLITE_OK {
|
||||
return ErrNo(rv)
|
||||
return errors.New(C.GoString(C.sqlite3_errmsg(rc.s.c.db)))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -352,7 +348,7 @@ func (rc *SQLiteRows) Next(dest []driver.Value) error {
|
||||
return io.EOF
|
||||
}
|
||||
if rv != C.SQLITE_ROW {
|
||||
return ErrNo(rv)
|
||||
return errors.New(C.GoString(C.sqlite3_errmsg(rc.s.c.db)))
|
||||
}
|
||||
|
||||
if rc.decltype == nil {
|
||||
|
||||
Reference in New Issue
Block a user