github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/mattn/go-sqlite3/_example/mod_regexp/extension.go (about) 1 package main 2 3 import ( 4 "database/sql" 5 "fmt" 6 "github.com/insionng/yougam/libraries/mattn/go-sqlite3" 7 "log" 8 ) 9 10 func main() { 11 sql.Register("sqlite3_with_extensions", 12 &sqlite3.SQLiteDriver{ 13 Extensions: []string{ 14 "sqlite3_mod_regexp", 15 }, 16 }) 17 18 db, err := sql.Open("sqlite3_with_extensions", ":memory:") 19 if err != nil { 20 log.Fatal(err) 21 } 22 defer db.Close() 23 24 // Force db to make a new connection in pool 25 // by putting the original in a transaction 26 tx, err := db.Begin() 27 if err != nil { 28 log.Fatal(err) 29 } 30 defer tx.Commit() 31 32 // New connection works (hopefully!) 33 rows, err := db.Query("select 'hello world' where 'hello world' regexp '^hello.*d$'") 34 if err != nil { 35 log.Fatal(err) 36 } 37 defer rows.Close() 38 for rows.Next() { 39 var helloworld string 40 rows.Scan(&helloworld) 41 fmt.Println(helloworld) 42 } 43 }