From b02fe14d57f141f1bb58c141dd6fb02ce1e63d37 Mon Sep 17 00:00:00 2001 From: Michele Date: Thu, 9 Mar 2017 10:03:46 +0100 Subject: [PATCH] . --- rethinkdb.go | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 rethinkdb.go diff --git a/rethinkdb.go b/rethinkdb.go new file mode 100644 index 0000000..13c715d --- /dev/null +++ b/rethinkdb.go @@ -0,0 +1,75 @@ +package main + +/* + +import ( + "fmt" + "log" + // "strings" + + rt "gopkg.in/dancannon/gorethink.v2" +) + +type Rethink struct { + rtdb *rt.Session +} + +func NewRethinkDB(cluster []string) (*Rethink, error) { + var ( + err error + session *rt.Session + ) + + if len(cluster) > 1 { + session, err = rt.Connect(rt.ConnectOpts{ + Addresses: cluster, + InitialCap: 10, + MaxOpen: 10, + }) + } else { + session, err = rt.Connect(rt.ConnectOpts{ + Address: cluster[0], + InitialCap: 10, + MaxOpen: 10, + }) + } + + if err != nil { + log.Printf("RethinkDB ERROR: %+v\n", err.Error()) + return nil, err + } + + return &Rethink{ + rtdb: session, + }, nil +} + +func (r *Rethink) Insert(login MongoLogin) (rt.WriteResponse, error) { + resp, err := rt.DB("tiscali").Table("lastlogin").Insert(login).RunWrite(r.rtdb) + if opts.Debug { + fmt.Printf("RTinsert: %+v\n", resp) + } + if err != nil { + return resp, err + } + + return resp, nil +} + +func (r *Rethink) MultiInsert(logins []MongoLogin) (rt.WriteResponse, error) { + resp, err := rt.DB("tiscali").Table("lastlogin").Insert(logins, rt.InsertOpts{Durability: "soft"}).RunWrite(r.rtdb) + //resp, err := rt.DB("tiscali").Table("lastlogin").Insert(logins).RunWrite(r.rtdb) + if opts.Debug { + fmt.Printf("RTMulti: %+v\n", resp) + } + if err != nil { + return resp, err + } + + return resp, nil +} + +func (r *Rethink) Close() { + r.rtdb.Close() +} +*/