forked from mirror/go-sqlcipher
gofmt.
This commit is contained in:
parent
79234d62ef
commit
0b35f58e9d
39
sqlite3.go
39
sqlite3.go
|
@ -31,6 +31,7 @@ func init() {
|
||||||
}
|
}
|
||||||
|
|
||||||
type SQLiteDriver struct {
|
type SQLiteDriver struct {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type SQLiteConn struct {
|
type SQLiteConn struct {
|
||||||
|
@ -131,7 +132,7 @@ func (c *SQLiteConn) Prepare(query string) (driver.Stmt, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *SQLiteStmt) Close() error {
|
func (s *SQLiteStmt) Close() error {
|
||||||
rv := C.sqlite3_finalize(s.s);
|
rv := C.sqlite3_finalize(s.s)
|
||||||
if rv != C.SQLITE_OK {
|
if rv != C.SQLITE_OK {
|
||||||
return errors.New(C.GoString(C.sqlite3_errmsg(s.c.db)))
|
return errors.New(C.GoString(C.sqlite3_errmsg(s.c.db)))
|
||||||
}
|
}
|
||||||
|
@ -144,12 +145,12 @@ func (s *SQLiteStmt) NumInput() int {
|
||||||
|
|
||||||
func (s *SQLiteStmt) bind(args []interface{}) error {
|
func (s *SQLiteStmt) bind(args []interface{}) error {
|
||||||
rv := C.sqlite3_reset(s.s)
|
rv := C.sqlite3_reset(s.s)
|
||||||
if rv != C.SQLITE_ROW && rv != C.SQLITE_OK && rv!= C.SQLITE_DONE {
|
if rv != C.SQLITE_ROW && rv != C.SQLITE_OK && rv != C.SQLITE_DONE {
|
||||||
return errors.New(C.GoString(C.sqlite3_errmsg(s.c.db)))
|
return errors.New(C.GoString(C.sqlite3_errmsg(s.c.db)))
|
||||||
}
|
}
|
||||||
|
|
||||||
for i, v := range args {
|
for i, v := range args {
|
||||||
n := C.int(i+1)
|
n := C.int(i + 1)
|
||||||
switch v := v.(type) {
|
switch v := v.(type) {
|
||||||
case nil:
|
case nil:
|
||||||
rv = C.sqlite3_bind_null(s.s, n)
|
rv = C.sqlite3_bind_null(s.s, n)
|
||||||
|
@ -198,15 +199,15 @@ func (s *SQLiteStmt) Exec(args []interface{}) (driver.Result, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
rv := C.sqlite3_step(s.s)
|
rv := C.sqlite3_step(s.s)
|
||||||
if rv != C.SQLITE_ROW && rv != C.SQLITE_OK && rv!= C.SQLITE_DONE {
|
if rv != C.SQLITE_ROW && rv != C.SQLITE_OK && rv != C.SQLITE_DONE {
|
||||||
return nil, errors.New(C.GoString(C.sqlite3_errmsg(s.c.db)))
|
return nil, errors.New(C.GoString(C.sqlite3_errmsg(s.c.db)))
|
||||||
}
|
}
|
||||||
return driver.DDLSuccess, nil
|
return driver.DDLSuccess, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
type SQLiteRows struct {
|
type SQLiteRows struct {
|
||||||
s *SQLiteStmt
|
s *SQLiteStmt
|
||||||
nc int
|
nc int
|
||||||
cols []string
|
cols []string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -234,19 +235,19 @@ func (rc *SQLiteRows) Next(dest []interface{}) error {
|
||||||
return errors.New(C.GoString(C.sqlite3_errmsg(rc.s.c.db)))
|
return errors.New(C.GoString(C.sqlite3_errmsg(rc.s.c.db)))
|
||||||
}
|
}
|
||||||
for i := range dest {
|
for i := range dest {
|
||||||
switch (C.sqlite3_column_type(rc.s.s, C.int(i))) {
|
switch C.sqlite3_column_type(rc.s.s, C.int(i)) {
|
||||||
case C.SQLITE_INTEGER:
|
case C.SQLITE_INTEGER:
|
||||||
dest[i] = int64(C.sqlite3_column_int64(rc.s.s, C.int(i)))
|
dest[i] = int64(C.sqlite3_column_int64(rc.s.s, C.int(i)))
|
||||||
case C.SQLITE_FLOAT:
|
case C.SQLITE_FLOAT:
|
||||||
dest[i] = float64(C.sqlite3_column_double(rc.s.s, C.int(i)))
|
dest[i] = float64(C.sqlite3_column_double(rc.s.s, C.int(i)))
|
||||||
case C.SQLITE_BLOB:
|
case C.SQLITE_BLOB:
|
||||||
n := int(C.sqlite3_column_bytes(rc.s.s, C.int(i)))
|
n := int(C.sqlite3_column_bytes(rc.s.s, C.int(i)))
|
||||||
p := C.sqlite3_column_blob(rc.s.s, C.int(i))
|
p := C.sqlite3_column_blob(rc.s.s, C.int(i))
|
||||||
dest[i] = (*[1 << 30]byte)(unsafe.Pointer(p))[0:n]
|
dest[i] = (*[1 << 30]byte)(unsafe.Pointer(p))[0:n]
|
||||||
case C.SQLITE_NULL:
|
case C.SQLITE_NULL:
|
||||||
dest[i] = nil
|
dest[i] = nil
|
||||||
case C.SQLITE_TEXT:
|
case C.SQLITE_TEXT:
|
||||||
dest[i] = C.GoString((*C.char)(unsafe.Pointer(C.sqlite3_column_text(rc.s.s, C.int(i)))))
|
dest[i] = C.GoString((*C.char)(unsafe.Pointer(C.sqlite3_column_text(rc.s.s, C.int(i)))))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
|
Loading…
Reference in New Issue