diff --git a/engine/store.go b/engine/store.go index 981d023..9b26be9 100644 --- a/engine/store.go +++ b/engine/store.go @@ -69,13 +69,20 @@ func (db *DB) insertMany(query gjson.Result) (res string) { //fmt.Println("bulk data: ", strData[:len(strData)-1]) - _, err := db.db.Exec(`insert into ` + coll + `(record) values` + strData[:len(strData)-1]) // fast + _, err := db.db.Exec(`insert into ` + coll + `(record) values` + strData[:len(strData)-1]) // `+` is fast if err != nil { db.lastid[coll] = lid + if strings.Contains(err.Error(), "no such table") { + err = db.CreateCollection(coll) + if err != nil { + return err.Error() + } + return db.insertMany(query) + } return err.Error() } - return "in progress" + return "inserted" } // insert new record diff --git a/main.go b/main.go index b0aacf4..61b073d 100644 --- a/main.go +++ b/main.go @@ -13,10 +13,10 @@ import ( var content embed.FS func main() { - // TODO close programe greatfully. + // TODO: Close program gracefully. db := engine.NewDB("test.db") - db.CreateCollection("users") + db.CreateCollection("test") defer db.Close() fmt.Printf("interacte with zaradb from %s:%s\n", Host, Port)