diff options
author | Carlos Castillo <cookieo9@gmail.com> | 2013-08-24 20:04:51 -0700 |
---|---|---|
committer | Carlos Castillo <cookieo9@gmail.com> | 2013-08-24 20:04:51 -0700 |
commit | 976f43861ffde82e2f0939793124b172d2ebd2ec (patch) | |
tree | 40ef04fc05b79faf1187f34c9e4029e28e2049b3 /sqlite3.go | |
parent | Rename because travis bringup error (diff) | |
download | golite-976f43861ffde82e2f0939793124b172d2ebd2ec.tar.gz golite-976f43861ffde82e2f0939793124b172d2ebd2ec.tar.xz |
Added error return to ConnectHook and fixed extension example
The ConnectHook field of an SQLiteDriver should return an error in
case something bad happened during the hook.
The extension example needs to load the extension in a ConnectHook,
otherwise the extension is only loaded in a single connection in the pool.
By putting the extension loading in the ConnectHook, its called for every
connection that is opened by the sql.DB.
Diffstat (limited to 'sqlite3.go')
-rw-r--r-- | sqlite3.go | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -78,7 +78,7 @@ func init() { // Driver struct. type SQLiteDriver struct { EnableLoadExtension bool - ConnectHook func(*SQLiteConn) + ConnectHook func(*SQLiteConn) error } // Conn struct. @@ -194,7 +194,9 @@ func (d *SQLiteDriver) Open(dsn string) (driver.Conn, error) { conn := &SQLiteConn{db} if d.ConnectHook != nil { - d.ConnectHook(conn) + if err := d.ConnectHook(conn); err != nil { + return nil, err + } } return conn, nil |