The following will return an error:
> Post.first.update_columns({})
ArgumentError: Empty list of attributes to change
I think that's surprising, because I see update_columns as an analogue to update_attributes, just without callbacks happening. An empty hash for the latter is fine:
> Post.first.update_attributes({})
true
So shouldn't update_columns support an empty hash too? In the rare cases where callbacks should be avoided and this is needed, it would save having to make a special-case check to prevent the error.