Skip to content

Instantly share code, notes, and snippets.

@t2y
Created July 15, 2017 11:42
Show Gist options
  • Save t2y/88397cddda540383f46c37e8267e0f64 to your computer and use it in GitHub Desktop.
Save t2y/88397cddda540383f46c37e8267e0f64 to your computer and use it in GitHub Desktop.
buil insert test for genmai
package main
import (
"fmt"
_ "github.com/mattn/go-sqlite3"
"github.com/naoina/genmai"
)
type testData struct {
ID int
Data string
}
func testSliceOfType(db *genmai.DB) {
data := make([]testData, 0, 10)
data = append(data, testData{1, "genmai"})
data = append(data, testData{2, "[]testData"})
data = append(data, testData{3, "test"})
fmt.Println(db.Insert(data))
}
func testSliceOfInterface(db *genmai.DB) {
data := make([]interface{}, 0, 10)
data = append(data, &testData{4, "genmai"})
data = append(data, &testData{5, "[]inteface"})
data = append(data, &testData{6, "test"})
fmt.Println(db.Insert(data))
}
func main() {
dialect := &genmai.SQLite3Dialect{}
db, err := genmai.New(dialect, "test.db")
if err != nil {
fmt.Println(err)
return
}
if err = db.CreateTableIfNotExists(testData{}); err != nil {
fmt.Println(err)
return
}
testSliceOfType(db)
testSliceOfInterface(db)
}
@t2y
Copy link
Author

t2y commented Jul 15, 2017

Tested at naoina/genmai@c00e670

$ go build main.go && ./main 
3 <nil>
-1 Insert: argument must be pointer to struct or slice of struct, got []interface {}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment