Commit Graph

74 Commits

Author SHA1 Message Date
75b530c7fc Fix builds with MariaDB client libraries. 2017-04-12 19:34:30 +03:00
6ad3f09a07 Fix builds with MySQL 8.0.1 client libraries.
my_bool has been replaced with bool in MySQL 8.0.1.
2017-04-12 00:24:34 +03:00
3348e8dfa3 Remove unused gresults variable from drv_mysql.c. 2017-04-12 00:21:46 +03:00
480c34c33b Report errors thrown by the script properly with the 'sysbench modulename' syntax. 2017-04-02 10:42:01 +03:00
fb7e62db24 Allow benchmarks to be specified as a module name, i.e. a require() argument. 2017-03-31 13:52:55 +03:00
1fc8326c0d Prevent compiler from optimizing memory loads/stores in the memory benchmark. 2017-03-29 23:33:58 +03:00
a0658f09ce Memory benchmark optimizations.
Optimize the memory benchmark:
- get rid of the global mutex to calculate statistics
- remove if() and switch() branches on critical code paths
- align memory blocks to OS page size
- use native machine word size instead of 'int'
2017-03-29 21:02:07 +03:00
7fcbf2e025 Fix system ConcurrencyKit builds on ARMv6.
The problem reported for i686 in #118 also affects ARMv6. Fixed by
allowing workarounds in sb_ck_pr.h to work on architectures other than
i686.
2017-03-29 14:14:19 +03:00
154335edf6 Rename sb_option_copy() to sb_opt_copy() for consistency with other functions. 2017-03-17 11:57:39 +03:00
03c7eb5c29 Fix #123: Table already exists error on prepare
When the deprecated --num-threads option was used in OLTP prepare, the
sysbench.opt.threads variable exported to Lua scripts contained the
default value of 1, even though the actual number of threads created by
sysbench was higher. Which led to unexpected fireworks.

Now the deprecated options override the correspond sysbench.opt.*
variables when used.
2017-03-17 11:53:04 +03:00
d2bc5d50f8 Fix warning in 32-bit builds. 2017-03-13 14:38:25 +03:00
05f2a8e87b Fix #118: Build fails on i686 when using system ck
Provide compatibility wrappers for system (i.e. distribution-provided)
ConcurrencyKit on i386. Unlike bundled ConcurrencyKit, older versions
that may be provided by distributions do not support CK_USE_CC_BUILTINS,
which makes implementing 64-bit atomics impossible on x86 (32-bit).

Detect if 64-bit atomics are not provided at compile stage and if so,
resort to GCC builtin implementations.
2017-03-13 14:38:19 +03:00
89ab44d50e Fix #119 (oltp_insert.lua + --auto-inc=0 fails)
Fix oltp_insert.lua when run with --auto-inc disabled. Add regression tests.
2017-03-12 10:45:03 +03:00
6c7c13913d Fix -Wformat warnings in sb_fileio.c. 2017-03-10 11:43:25 +03:00
9bd33c7e41 Fix grammar in help text for --skip-trx. 2017-02-28 12:30:10 +03:00
b4f3d22c38 Build on Illumos 2017-02-26 12:02:33 +03:00
1d40ad0e1c Optimize random string generation in OLTP_RW.
Avoid Lua string management in OLTP_RW by introducing a new sql_param
method: set_rand_str(). Which calls sb_rand_str() in C code with a given
template string and a pre-allocated result buffer. In oltp_common.lua,
use set_rand_str() instead of allocating a new Lua string each time we
need a random string parameter for a prepared statement.
2017-02-25 19:57:55 +03:00
ba8b1d0781 Get rid of timers_mutex, improve --report-checkpoints scalability. 2017-02-14 20:53:08 +03:00
57b6f9d2b6 Correct a diagnostic message on index creation. 2017-02-08 22:46:28 +03:00
9c87d39700 Grammar fixes in a comment. 2017-02-08 21:45:51 +03:00
08e5b4fa9e Add a new line to an error message. 2017-02-02 23:32:46 +03:00
8359466dc7 Properly set the allocated array to 0 in sb_alloc_per_thread_array(). 2017-02-02 17:03:26 +03:00
d156b9b21f Exclude queries executed by background threads from statistic reports. 2017-02-02 15:25:54 +03:00
40c14789aa Export mysql_drv_reconnect() to Lua SQL API. 2017-02-02 10:59:51 +03:00
9fdec9dccf Rename sysbench.option_defs to sysbench.cmdline.options. 2017-02-01 19:31:53 +03:00
fdebeaffc3 Throw a more descriptive error when multiple DB drivers are available. 2017-02-01 19:03:13 +03:00
4a755b1c5d Make the default intermediate reports format a little more terse. 2017-02-01 18:57:37 +03:00
7f56e219f7 Rename --num-threads to --threads.
Accept the old name with a warning for compatibility.
2017-02-01 17:42:39 +03:00
788fcbb30b Rename --max-requests to --events, --max-time to --time.
Print warnings if old names are used, but accept them for compatibility.
2017-02-01 17:20:22 +03:00
8f227f64b3 Rename --tx-rate to --rate, keep --tx-rate as a deprecated alias. 2017-02-01 16:28:14 +03:00
2a3ca019cb if the test name on the command line is "-", read Lua script from the standard input. 2017-02-01 10:56:05 +03:00
d017ae0c85 Support the deprecated --test option for compatibility with legacy scripts. 2017-02-01 10:10:27 +03:00
443a60bd28 Export histogram API to Lua. 2017-01-31 20:51:47 +03:00
5ad977b50f Fix typo in sysbench.compat.lua. 2017-01-31 13:44:04 +03:00
a734561fa5 Check for command in OLTP scripts.
Check for the required command argument in oltp_common.lua and provide
list of supported commands when missing.
2017-01-31 13:35:41 +03:00
094c15d555 Make sysbench.cmdline.argv available from the master thread. 2017-01-31 13:21:57 +03:00
abb3f55a5f Export command line arguments + command name to sysbench.cmdline. 2017-01-31 12:52:59 +03:00
c1803286b0 Silence compiler warnings. 2017-01-30 21:45:58 +03:00
efb168643f Reimplement tx_rate with lockless bounded FIFO provided by ConcurrencyKit. 2017-01-30 21:26:55 +03:00
d3e28b3dc2 Use a proper method to disconnect a connection. 2017-01-30 17:44:19 +03:00
4eff9c4dc1 Close connections explicitly in OLTP scripts. 2017-01-30 17:29:47 +03:00
cdc450a258 Fix a comment typo. 2017-01-30 17:24:56 +03:00
78ea2f6a5c Close connection explicitly in bulk_insert.lua. 2017-01-30 17:16:21 +03:00
1363264c61 Handle more cases where drv_pgsql.c may leak memory. 2017-01-30 16:04:39 +03:00
55aca14d92 Add a missing PQclear() call in pgsql_drv_bind_param(). 2017-01-30 15:22:21 +03:00
ca0da79d82 Call PQclear() for non-SELECT queries explicitly in drv_pgsql.c. 2017-01-30 15:13:05 +03:00
b9dab8c0f5 Also close BEGIN/COMMIT statements in oltp_common.lua. 2017-01-30 14:44:34 +03:00
61a167354b Close prepared statements in OLTP scripts. 2017-01-30 14:24:05 +03:00
419be9f8ea Properly close/deallocate connections on 'prepare'. 2017-01-30 13:54:15 +03:00
7c43653e4f Fix memory leaks in drv_pgsql.c. 2017-01-30 13:35:00 +03:00