Throw OrmConcurrencyException when optimistic locking fails

If an entity is using @RowVersion to protect itself from concurrent
updates we may be able to detect concurrent updates when the UPDATE
SQL returns 0 rows affected.  In such a case the caller may need to
handle the exception specially by retrying the operation.

Signed-off-by: Shawn O. Pearce <sop@google.com>
3 files changed