aboutsummaryrefslogtreecommitdiff
path: root/sqlite3.go
diff options
context:
space:
mode:
authorYasuhiro Matsumoto <mattn.jp@gmail.com>2017-03-24 08:48:29 +0900
committerYasuhiro Matsumoto <mattn.jp@gmail.com>2017-03-24 08:48:29 +0900
commitfc03fa998970a0110f9727c0441985b35ab50055 (patch)
treed6fd02600be74f3967430a2de66a8ef571cf0f70 /sqlite3.go
parentfix breaking compatibility. (diff)
downloadgolite-fc03fa998970a0110f9727c0441985b35ab50055.tar.gz
golite-fc03fa998970a0110f9727c0441985b35ab50055.tar.xz
close connection when got errors in Open
Diffstat (limited to 'sqlite3.go')
-rw-r--r--sqlite3.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/sqlite3.go b/sqlite3.go
index 3a9a4dd..375cf79 100644
--- a/sqlite3.go
+++ b/sqlite3.go
@@ -609,6 +609,7 @@ func (d *SQLiteDriver) Open(dsn string) (driver.Conn, error) {
rv = C.sqlite3_busy_timeout(db, C.int(busyTimeout))
if rv != C.SQLITE_OK {
+ conn.Close()
return nil, Error{Code: ErrNo(rv)}
}
@@ -616,12 +617,14 @@ func (d *SQLiteDriver) Open(dsn string) (driver.Conn, error) {
if len(d.Extensions) > 0 {
if err := conn.loadExtensions(d.Extensions); err != nil {
+ conn.Close()
return nil, err
}
}
if d.ConnectHook != nil {
if err := d.ConnectHook(conn); err != nil {
+ conn.Close()
return nil, err
}
}