There is a "FIXME" in the file which generates an additional UPDATE with the same ID as DELETE/INSERT pair which appears to have been required just for PostgreSQL. That statement is now added based on the db-driver.
oltp-range-selects controls whether to include range selects or not.
(Typical practice is to list all range select statements with zero counts. This allows a simple oltp-range-selects=off)
oltp-delete-inserts controls the number of delete/insert pairs to be executed
(example: oltp-delete-inserts=0 disables the delete/insert pair )
Handle deadlocks correctly in the PostgreSQL driver, i.e. return
SB_DB_ERROR_DEADLOCK to the upper layer to restart the transaction and
increment the deadlocks counter.
stats
When --forced-shutdown is used, it prints the currently collected
statistics and terminates without waiting for worker threads to
complete. This was implemented to be able to complete benchmark even
if we have some long running or stuck transactions.
The problem is that unfinished transactions are not reflected in
statistics. So, for example, if we do have stuck transactions that
have been stuck for the entire test duration, their timers will still
be running on forced shutdown and thus, statistics will only show
transactions performed by other threads, if any.
The fix is stop all timers on forced shutdown, so even stuck
transactions are accounted with (forced_shutdown_time -
trx_start_time) duration. Also printing the number of currently
running transactions at the time of forced shutdown would also make
sense.
Changed the fileio prepare command so that any existing files left from
the previous runs are now reused rather than recreated from
scratch. This is is mostly useful for SSD drives, but may speed up the
prepare stage for regular drives too.
intervals.
Added a new --report-checkpoints option that allows to dump full
statistics and reset all counters at specified points in time. The
argument is a list of comma-separated values representing the amount of
time in seconds elapsed from start of test when report checkpoint(s)
must be performed. Report checkpoints are off by Report checkpoints
are off by default.
Add --oltp-point-select-all-cols to make the point-select query (fetch 1 row by primary key)
fetch all columns from the row rather than only _c_. This makes it comparable to the work
done when --oltp-point-select-mysql-handler is used because HANDLER statements fetch all
columns.