Delegate batch execution to SQLDialect

To perform optimistic concurrency control, it is necessary to know
whether all rows of a statement batch have been successfully executed.
However, it is not needed to known which individual item of the batch
had been modified concurrently.

To determine this, on most databases, the update counts for the
individual rows of the batch need to be known, which is not always
possible as some databases may return a general success indicator
(SUCCESS_NO_INFO) only.

Other databases, like SAP MaxDB, allow to determine the total number of
rows updated by a batch execution directly by a vendor-specific API
call. To leverage this, this patch delegates the batch execution to the
SQLDialect. Also, the SQLDialect is equipped with a methods to indicate
whether batch execution allows to determine the total batch update
count.

Change-Id: I2692305e62dd8fa68dabcff81c2be1269a3a9689
Signed-off-by: Adrian Goerler <adrian.goerler@sap.com>
6 files changed