diff options
author | mattn <mattn.jp@gmail.com> | 2013-08-23 09:57:22 +0900 |
---|---|---|
committer | mattn <mattn.jp@gmail.com> | 2013-08-23 09:57:22 +0900 |
commit | f6dadd82d81a644eb5b7c212a6f1770c0c87ba41 (patch) | |
tree | defc6d64b8af1c9f81e13495f1bccdfb759e3a11 /sqlite3.go | |
parent | Rervert ff8e6729ce0628c3da97bd8e85c636f3645c2516 (diff) | |
download | golite-f6dadd82d81a644eb5b7c212a6f1770c0c87ba41.tar.gz golite-f6dadd82d81a644eb5b7c212a6f1770c0c87ba41.tar.xz |
Add new driver name 'sqlite3_with_extensions'
Diffstat (limited to 'sqlite3.go')
-rw-r--r-- | sqlite3.go | 13 |
1 files changed, 12 insertions, 1 deletions
@@ -72,11 +72,13 @@ var SQLiteTimestampFormats = []string{ } func init() { - sql.Register("sqlite3", &SQLiteDriver{}) + sql.Register("sqlite3", &SQLiteDriver{false}) + sql.Register("sqlite3_with_extensions", &SQLiteDriver{true}) } // Driver struct. type SQLiteDriver struct { + enableLoadExtentions bool } // Conn struct. @@ -176,6 +178,15 @@ func (d *SQLiteDriver) Open(dsn string) (driver.Conn, error) { return nil, errors.New(C.GoString(C.sqlite3_errmsg(db))) } + enableLoadExtentions := 0 + if d.enableLoadExtentions { + enableLoadExtentions = 1 + } + rv = C.sqlite3_enable_load_extension(db, C.int(enableLoadExtentions)) + if rv != C.SQLITE_OK { + return nil, errors.New(C.GoString(C.sqlite3_errmsg(db))) + } + return &SQLiteConn{db}, nil } |