in lib/aws-record/record/item_operations.rb [319:336]
def prevent_overwrite_expression
conditions = []
expression_attribute_names = {}
keys = self.class.instance_variable_get('@keys')
conditions << 'attribute_not_exists(#H)'
expression_attribute_names['#H'] = keys.hash_key_attribute.database_name
if self.class.range_key
conditions << 'attribute_not_exists(#R)'
expression_attribute_names['#R'] = keys.range_key_attribute.database_name
end
{
condition_expression: conditions.join(' and '),
expression_attribute_names: expression_attribute_names
}
end