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