.
This commit is contained in:
parent
bb2caec10f
commit
b02fe14d57
1 changed files with 75 additions and 0 deletions
75
rethinkdb.go
Normal file
75
rethinkdb.go
Normal file
|
@ -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()
|
||||||
|
}
|
||||||
|
*/
|
Loading…
Add table
Reference in a new issue