Created
September 8, 2014 14:53
-
-
Save beefsack/e212098e908ecce78c8b to your computer and use it in GitHub Desktop.
Example showing OldValue and NewValue empty
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package main | |
| import ( | |
| "log" | |
| r "github.com/dancannon/gorethink" | |
| "github.com/davecgh/go-spew/spew" | |
| ) | |
| type Blah struct { | |
| Id int `gorethink:"id,omitempty"` | |
| Name string `gorethink:"name"` | |
| } | |
| func main() { | |
| s, err := r.Connect(r.ConnectOpts{ | |
| Address: "localhost:28015", | |
| }) | |
| if err != nil { | |
| log.Fatal(err) | |
| } | |
| // Ignore errors here for the sake of brevity. | |
| r.DbCreate("test").RunWrite(s) | |
| r.Db("test").TableCreate("blah").RunWrite(s) | |
| r.Db("test").Table("blah").Delete().RunWrite(s) | |
| log.Print("Testing insert") | |
| wr, err := r.Db("test").Table("blah").Insert(Blah{ | |
| Id: 1, | |
| Name: "hello", | |
| }, r.InsertOpts{ | |
| ReturnChanges: true, | |
| }).RunWrite(s) | |
| if err != nil { | |
| log.Fatal(err) | |
| } | |
| spew.Dump(wr) | |
| if wr.Inserted == 0 { | |
| log.Printf("None were inserted", wr) | |
| } | |
| if wr.OldValue != nil { | |
| log.Print("Old value was returned when it shouldn't have been") | |
| } | |
| if wr.NewValue == nil { | |
| log.Print("New value was not returned") | |
| } | |
| log.Print("Testing update") | |
| wr, err = r.Db("test").Table("blah").Limit(1).Update(Blah{ | |
| Id: 1, | |
| Name: "hello2", | |
| }, r.UpdateOpts{ | |
| ReturnChanges: true, | |
| }).RunWrite(s) | |
| if err != nil { | |
| log.Fatal(err) | |
| } | |
| spew.Dump(wr) | |
| if wr.Replaced == 0 { | |
| log.Printf("None were updated", wr) | |
| } | |
| if wr.OldValue == nil { | |
| log.Print("Old value was not returned") | |
| } | |
| if wr.NewValue == nil { | |
| log.Print("New value was not returned") | |
| } | |
| log.Print("Testing replace") | |
| wr, err = r.Db("test").Table("blah").Limit(1).Replace(Blah{ | |
| Id: 1, | |
| Name: "hello3", | |
| }, r.ReplaceOpts{ | |
| ReturnChanges: true, | |
| }).RunWrite(s) | |
| if err != nil { | |
| log.Fatal(err) | |
| } | |
| spew.Dump(wr) | |
| if wr.Replaced == 0 { | |
| log.Printf("None were replaced", wr) | |
| } | |
| if wr.OldValue == nil { | |
| log.Print("Old value was not returned") | |
| } | |
| if wr.NewValue == nil { | |
| log.Print("New value was not returned") | |
| } | |
| log.Print("Testing Delete") | |
| wr, err = r.Db("test").Table("blah").Limit(1).Delete(r.DeleteOpts{ | |
| ReturnChanges: true, | |
| }).RunWrite(s) | |
| if err != nil { | |
| log.Fatal(err) | |
| } | |
| spew.Dump(wr) | |
| if wr.Deleted == 0 { | |
| log.Print("None were deleted", wr) | |
| } | |
| if wr.OldValue == nil { | |
| log.Print("Old value was not returned") | |
| } | |
| if wr.NewValue != nil { | |
| log.Print("New value was returned when it shouldn't have been") | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment