US 11,789,925 B2
System and method for conditionally updating an item with attribute granularity
Stefano Stefani, Issaquah, WA (US); Chiranjeeb Buragohain, Seattle, WA (US); Jai Vasanth, Seattle, WA (US); and Wei Xiao, Kirkland, WA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Aug. 16, 2019, as Appl. No. 16/543,116.
Application 16/543,116 is a continuation of application No. 15/362,484, filed on Nov. 28, 2016, granted, now 10,387,402.
Application 15/362,484 is a continuation of application No. 14/092,779, filed on Nov. 27, 2013, granted, now 9,507,818, issued on Nov. 29, 2016.
Application 14/092,779 is a continuation of application No. 13/169,995, filed on Jun. 27, 2011, granted, now 8,601,000, issued on Dec. 3, 2013.
Prior Publication US 2019/0370245 A1, Dec. 5, 2019
Int. Cl. G06F 16/23 (2019.01); G06F 16/27 (2019.01)
CPC G06F 16/235 (2019.01) [G06F 16/23 (2019.01); G06F 16/2365 (2019.01); G06F 16/278 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A method, comprising:
performing, by one or more computing devices implementing a non-relational data store, comprising:
receiving an Application Programming Interface (API) call to replace an item that is stored in the non-relational data store, wherein each item comprises an unordered set of name and value pairs; and
in response to said receiving, replacing the set of name and value pairs of the item with name and value pairs specified in the API call;
wherein the replacing comprises evaluating a composite primary key that uniquely identifies the item, wherein the composite primary key includes different elements, and wherein at least one of the different elements is hashed to determine a partition that stores the item;
wherein the API call specifies an expected value of an attribute of the item, wherein the attribute of the item is different than the composite primary key that uniquely identifies the item;
wherein the replacing is performed in response to determining that the expected value matches a stored value of the attribute; and
wherein determining that the expected value does not match the stored value of the attribute causes the non-relational data store to respond to the API call with a failure indication for the expected value of the attribute of the item.