diff options
Diffstat (limited to 'vendor/github.com/goamz/goamz/dynamodb/update_item.go')
-rw-r--r-- | vendor/github.com/goamz/goamz/dynamodb/update_item.go | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/vendor/github.com/goamz/goamz/dynamodb/update_item.go b/vendor/github.com/goamz/goamz/dynamodb/update_item.go deleted file mode 100644 index 280eb4bed..000000000 --- a/vendor/github.com/goamz/goamz/dynamodb/update_item.go +++ /dev/null @@ -1,94 +0,0 @@ -package dynamodb - -import simplejson "github.com/bitly/go-simplejson" - -/* -Construct an update item query. - -The query can be composed via chaining and then executed via Execute() - -Usage: - update := table.UpdateItem(key) - .ReturnValues(dynamodb.UPDATED_NEW) - .UpdateExpression("SET Counter = Counter + :incr") - .UpdateCondition("Counter < :checkVal") - .ExpressionAttributes(NewNumberAttribute(":incr", "1"), NewNumberAttribute(":checkVal", 42)) - result, err := update.Execute() - if err == nil { - log.Printf("Counter is now %v", result.Attributes["Counter"].Value) - } - -*/ -func (t *Table) UpdateItem(key *Key) *UpdateItem { - q := NewQuery(t) - q.AddKey(t, key) - return &UpdateItem{table: t, query: q} -} - -type UpdateItem struct { - table *Table - query *Query - hasReturnValues bool -} - -// Specify how return values are to be provided. -func (u *UpdateItem) ReturnValues(returnValues ReturnValues) *UpdateItem { - u.hasReturnValues = (returnValues != NONE) - u.query.AddReturnValues(returnValues) - return u -} - -/* -Specify an update expression and optional attribute settings at the same time. - - update.UpdateExpression("SET Foo = Foo + :incr", dynamodb.NewNumberAttribute(":incr", "7")) - -is equivalent to - - update.UpdateExpression("SET Foo = Foo + :incr") - .ExpressionAttributes(NewNumberAttribute(":incr", "7")) - -*/ -func (u *UpdateItem) UpdateExpression(expression string, attributes ...Attribute) *UpdateItem { - u.query.AddUpdateExpression(expression) - u.ExpressionAttributes(attributes...) - return u -} - -// Specify attribute substitutions to be used in expressions. -func (u *UpdateItem) ExpressionAttributes(attributes ...Attribute) *UpdateItem { - u.query.AddExpressionAttributes(attributes) - return u -} - -// Specify a check condition for conditional updates. -func (u *UpdateItem) ConditionExpression(expression string) *UpdateItem { - u.query.AddConditionExpression(expression) - return u -} - -// Execute this query. -func (u *UpdateItem) Execute() (*UpdateResult, error) { - jsonResponse, err := u.table.Server.queryServer(target("UpdateItem"), u.query) - - if err != nil { - return nil, err - } - - if u.hasReturnValues { - resp, err := simplejson.NewJson(jsonResponse) - if err != nil { - return nil, err - } - attrib, err := resp.Get("Attributes").Map() - if err != nil { - return nil, err - } - return &UpdateResult{parseAttributes(attrib)}, nil - } - return nil, nil -} - -type UpdateResult struct { - Attributes map[string]*Attribute -} |