75 lines
1.3 KiB
Go
75 lines
1.3 KiB
Go
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()
|
|
}
|
|
*/
|