7
"github.com/ziutek/mymysql/autorc"
8
_ "github.com/ziutek/mymysql/thrsafe"
13
passwd := "TestPasswd9"
15
//conn := []string{"unix", "", "/var/run/mysqld/mysqld.sock"}
16
conn := []string{"tcp", "", "127.0.0.1:3306"}
18
c := autorc.New(conn[0], conn[1], conn[2], user, passwd)
20
// Register initialisation commands
21
c.Raw.Register("set names utf8")
23
// my is in unconnected state
24
checkErr(c.Use(dbname))
26
// Now we ar connected - disconnect
29
// Drop test table if exists
30
_, _, err := c.Query("drop table R")
32
fmt.Println("You may restart MySQL sererr or down the network interface.")
34
fmt.Printf("Waiting %ds...", sec)
35
for sec--; sec >= 0; sec-- {
37
fmt.Printf("\b\b\b\b\b%ds...", sec)
43
"create table R (id int primary key, name varchar(20))",
47
// Kill the connection
48
_, _, err = c.Query("kill %d", c.Raw.ThreadId())
51
// Prepare insert statement
52
ins, err := c.Prepare("insert R values (?, ?)")
55
// Kill the connection
56
_, _, err = c.Query("kill %d", c.Raw.ThreadId())
59
// Bind insert parameters
60
ins.Raw.Bind(1, "jeden")
62
_, _, err = ins.Exec()
65
// Kill the connection
66
_, _, err = c.Query("kill %d", c.Raw.ThreadId())
69
// Bind insert parameters
70
ins.Raw.Bind(2, "dwa")
72
_, _, err = ins.Exec()
75
// Kill the connection
76
_, _, err = c.Query("kill %d", c.Raw.ThreadId())
80
rows, res, err := c.Query("select * from R")
83
name := res.Map("name")
85
rows[0].Int(id) != 1 || rows[0].Str(name) != "jeden" ||
86
rows[1].Int(id) != 2 || rows[1].Str(name) != "dwa" {
87
fmt.Println("Bad result")
90
// Kill the connection
91
_, _, err = c.Query("kill %d", c.Raw.ThreadId())
95
_, _, err = c.Query("drop table R")
103
func checkErr(err error) {
105
fmt.Println("Error:", err)