File tree 1 file changed +5
-11
lines changed 1 file changed +5
-11
lines changed Original file line number Diff line number Diff line change @@ -287,21 +287,15 @@ func (d *SQLiteDriver) Open(dsn string) (driver.Conn, error) {
287
287
return nil , errors .New (C .GoString (C .sqlite3_errmsg (db )))
288
288
}
289
289
290
- stmt , err := conn .Prepare ("SELECT load_extension(?);" )
291
- if err != nil {
292
- return nil , err
293
- }
294
-
295
290
for _ , extension := range d .Extensions {
296
- if _ , err = stmt .Exec ([]driver.Value {extension }); err != nil {
297
- return nil , err
291
+ cext := C .CString (extension )
292
+ defer C .free (unsafe .Pointer (cext ))
293
+ rv = C .sqlite3_load_extension (db , cext , nil , nil )
294
+ if rv != C .SQLITE_OK {
295
+ return nil , errors .New (C .GoString (C .sqlite3_errmsg (db )))
298
296
}
299
297
}
300
298
301
- if err = stmt .Close (); err != nil {
302
- return nil , err
303
- }
304
-
305
299
rv = C .sqlite3_enable_load_extension (db , 0 )
306
300
if rv != C .SQLITE_OK {
307
301
return nil , errors .New (C .GoString (C .sqlite3_errmsg (db )))
You can’t perform that action at this time.
0 commit comments