@@ -45,26 +45,52 @@ We are continuously adding more functionality to go-mysql-server. We support a s
45
45
46
46
``` go
47
47
...
48
- driver := sqle.New ()
49
- driver.AddDatabase (createTestDatabase ())
50
-
51
- auth := mysql.NewAuthServerStatic ()
52
- auth.Entries [" user" ] = []*mysql.AuthServerStaticEntry {{
53
- Password: " pass" ,
54
- }}
55
-
56
- config := server.Config {
57
- Protocol : " tcp" ,
58
- Address : " localhost:3306" ,
59
- Auth : auth,
48
+
49
+ func main () {
50
+ driver := sqle.New ()
51
+ driver.AddDatabase (createTestDatabase ())
52
+
53
+ auth := mysql.NewAuthServerStatic ()
54
+ auth.Entries [" user" ] = []*mysql.AuthServerStaticEntry {{
55
+ Password: " pass" ,
56
+ }}
57
+
58
+ config := server.Config {
59
+ Protocol: " tcp" ,
60
+ Address: " localhost:3306" ,
61
+ Auth: auth,
62
+ }
63
+
64
+ s , err := server.NewDefaultServer (config, driver)
65
+ if err != nil {
66
+ panic (err)
67
+ }
68
+
69
+ s.Start ()
60
70
}
61
71
62
- s , err := server.NewDefaultServer (config, driver)
63
- if err != nil {
64
- panic (err)
72
+ func createTestDatabase () *mem .Database {
73
+ const (
74
+ dbName = " test"
75
+ tableName = " mytable"
76
+ )
77
+
78
+ db := mem.NewDatabase (dbName).(*mem.Database )
79
+ table := mem.NewTable (tableName, sql.Schema {
80
+ {Name: " name" , Type: sql.Text , Nullable: false , Source: tableName},
81
+ {Name: " email" , Type: sql.Text , Nullable: false , Source: tableName},
82
+ {Name: " phone_numbers" , Type: sql.JSON , Nullable: false , Source: tableName},
83
+ {Name: " created_at" , Type: sql.Timestamp , Nullable: false , Source: tableName},
84
+ })
85
+
86
+ db.AddTable (tableName, table)
87
+ table.Insert (sql.NewRow (" John Doe" , " john@doe.com" , []string {" 555-555-555" }, time.Now ()))
88
+ table.Insert (sql.NewRow (" John Doe" , " johnalt@doe.com" , []string {}, time.Now ()))
89
+ table.Insert (sql.NewRow (" Jane Doe" , " jane@doe.com" , []string {}, time.Now ()))
90
+ table.Insert (sql.NewRow (" Evil Bob" , " evilbob@gmail.com" , []string {" 555-666-555" , " 666-666-666" }, time.Now ()))
91
+ return db
65
92
}
66
93
67
- s.Start ()
68
94
...
69
95
```
70
96
0 commit comments