prevent_overwrite_expression

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