OSDN Git Service

add sqlite vendor (#48)
[bytom/vapor.git] / vendor / github.com / mattn / go-sqlite3 / _example / mod_regexp / extension.go
1 package main
2
3 import (
4         "database/sql"
5         "fmt"
6         "github.com/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 }