Summary
UpdateItem ReturnValues projection differs from real DynamoDB, surfaced by the dynamodb-conformance suite (Dynoxide 0.9.13).
- Nested SET.
SET parent.child = :v with ReturnValues: UPDATED_NEW should return only the changed fragment, { parent: { M: { child } } }. Dynoxide returns the whole parent map (sibling keys included).
- REMOVE.
REMOVE y with ReturnValues: UPDATED_NEW should omit Attributes entirely, because nothing was set to a new value. Dynoxide returns Attributes: {}.
For reference, UPDATED_NEW on a create already returns the new attributes as AWS does.
Summary
UpdateItemReturnValuesprojection differs from real DynamoDB, surfaced by the dynamodb-conformance suite (Dynoxide 0.9.13).SET parent.child = :vwithReturnValues: UPDATED_NEWshould return only the changed fragment,{ parent: { M: { child } } }. Dynoxide returns the wholeparentmap (sibling keys included).REMOVE ywithReturnValues: UPDATED_NEWshould omitAttributesentirely, because nothing was set to a new value. Dynoxide returnsAttributes: {}.For reference,
UPDATED_NEWon a create already returns the new attributes as AWS does.