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 )
Don't use the hard-coded libmysqlclient_r name for the client library,
because it is obsolete in 5.7. Instead, if the client library path is
specified explicitly with --with-mysql-libs, try both libmysqlclient_r
and libmysqlclient in that order.
Issue explanation:
./sysbench/sysbench --test=memory --num-threads=16 \
--memory-block-size=268435456 \
--memory-total-size=137438953472 \
--memory-oper=read \
--memory-access-mode=seq \
--memory-scope=local run
Without this commit the time to run the above command is 0.0004 seconds.
With this commit the time is greater than 3 seconds. Essentially,
without the volatile modifier, the compiler optimizes read access so
that no real access happens.
Use "WHERE id BETWEEN 1 and 100" rather than "WHERE id BETWEEN 1 AND
1+99" in generated range SQL queries. I.e. calculate range bounds on the
client, there is no reason to push it to the server.
Don't use the hard-coded libmysqlclient_r name for the client library,
because it is obsolete in 5.7. Instead, if the client library path is
specified explicitly with --with-mysql-libs, try both libmysqlclient_r
and libmysqlclient in that order.
Call aclocal after libtoolize, as otherwise `make` will remake
aclocal.m4 and configure due to aclocal.m4 being older than libtool
macros installed to m4/ by libtoolize.
The SB_ATTRIBUTE_FORMAT() now expands to __attribute__((format...) on
platforms that support it. Fixed a number of inconsistencies between
format string and arguments revealed by the format attribute.