* Use `mysql_config --libs_r` instead of `mysql_config --libs | sed`.
* Update GPLv2 text in COPYING with the current version from https://gnu.org/licenses/gpl-2.0.txt.
* Update copyrights and FSF address.
* Initial LuaJIT support: build with system libluajit.
* Check if pkg-config is available and throw an error if it's not in autogen.sh
* Take 'set -e' into account when checking for pkg-config.
* Squashed 'third_party/luajit/luajit/' content from commit 6cb38f7
* Support building with bundled LuaJIT.
* README -> README.md in Makefile.am.
* Autoconf cleanups.
* Don't build bundled LuaJIT when --with-system-luajit was passed to configure.
* Don't remake aclocal.m4 and configure after autogen.sh && configure.
* Add -ldl to LUAJIT_LDFLAGS when building with bundled LuaJIT on Linux.
* Squashed 'third_party/luajit/luajit/' changes from 6cb38f7..be25592
* Print a status summary at the end of ./configure output.
* Change project info reported by ./configure.
* Add two new controls: 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 )
* Added oltp-write-only control
* Converted PostgreSQL "FIXME" to apply only to PostgreSQL
* Fix tests for the luajit branch.
* Don't use caches, as they may cause issues on PostgreSQL updates.
* Fix luajit branch to pass 'make distcheck' and Travis CI builds.
* Adjust drv_mysql.t, drv_pgsql.t to not fail on slower machines.
* Merge AArch64 port from https://github.com/cbaylis/luajit-aarch64/tree/aarch64-v2.1-new
* Remove the deprecated luaopen_math() call.
* Merge from LuaJIT upstream.
* Initial Concurrency Kit import.
* Merge from Concurrency Kit upstream.
* Report Git commit SHA in configure and "sysbench --version" output.
* Use an atomic fetch-and-add instead of a global mutex in sb_lua_get_request().
* Adjust tests.
* Replace percentile mutex with CK atomics + rwlock.
* Include stdint.h sb_percentile.h.
* Fix check for sb_globals.percentile_rank in sb_percentile_calculate().
* Decrease percentile granularity and value range to reduce memory consumption.
* Fixes #54: Reduce overhead from percentile stats
* Merge from ConcurrencyKit upstream up to commit 566bb28.
* Fix script_oltp_* tests to take new version format into account.
* Addendum to commit b450bf0.
* Various test-related fixes.
* Split cmd_version.t into cmd_version.t and opt_version.t.
* Merge from https://github.com/akopytov/ck
* Add LuaJIT build/install directories to .gitignore.
* Fix AC_SUBST() usage for USE_MYSQL.
* Add concurrency_kit build directories to .gitignore.
* Pass global CC, CFLAGS and LDFLAGS to ConcurrencyKit build system.
* Lua implementation of the main event loop.
* Fix tests, remove thread_id arg from Lua API functions.
* Replace mutex in db_thread_stat_t with CK atomics.
* Set per-connection thread id.
* Adjust test_fileio.t to pass on slow machines.
* Autodetect the most optimal -march GCC flag for the target architecture.
* Replace custom check for Sun compiler with AX_COMPILER_VENDOR.
* Pass CPPFLAGS to ConcurrencyKit build flags.
* Assume 128-byte cache line on AArch64 and PowerPC.
* Implement --histogram option.
* Better formatting for help/usage text.
* Pad sb_timer_t to cache line size.
* Align global_histogram to cache line size.
* Replace sb_histogram_t::interm_nslots with a constant.
* Timers overhaul.
* Also reset last_reconnects in db_reset_stats().
* Fix timestamps in interval reports.
* Move all pseudo-random numbers related code to sb_rand.c
* Unify timer API naming.
* Rename sb_rand() to sb_rand_default().
* Fixes #27: Provide portable reentrant PRNG
* Convert PRNG API to 64 bit.
* Use sb_rand_uniform_double() + FP arithmetic to generate bounded random values.
* Fix Homebrew + PostgreSQL woes again.
* Correct help text for --rand-seed.
* Fix cmd_help.t.
* Changed bounded PRNG functions to uint32_t for easier FFI integration.
* Convert Lua interface to random numbers to FFI.
* Add -rdynamic to linker flags on Linux for bundled LuaJIT.
* Add -ldl and -rdynamic to LDFLAGS when building with system Luajit as well.
* -ldl belongs to LDADD, not LDFLAGS.
* Fix PRNG seeding in sb_rand_thread_init().
* Enforce a C99 compiler.
* Fix legacy API tests.
* Check for pkg-config availability in configure.ac.
* Fix AC_MSG_ERROR() usage.
* Fix xoroshiro128plus.h to use C99 inline.
* Add extern inline declarations for xoroshiro* functions.
* Fixes #96: sb_rand_uniq(1, oltp_table_size) generate duplicate value
* Merge ax_gcc_archflag.m4 from upstream.
* Rename global_histogram to sb_latency_histogram.
* Merged LuaJIT upstream up to 8e5d7be.
* SQL API refactoring, cut #1.
* Export prepared statements API to Lua.
* Move oltp_point_select.lua from sysbench/tests/db/ to sysbench/lua/.
* Fix legacy OLTP regression tests.
* Exclude GCC/OSX from Travis CI build matrix.
* Replace ugly Lua context code with a thread-local variable.
* Make tls_lua_context actually a thread-local variable.
* Fix typo.
* Align timer arrays to cache line boundary.
* Add missing sb_util.c.
* Fixes #101: Obscure ./configure error when pkg-config is not installed
* Add AddressSanitizer support. Enable it by default in Travis CI builds.
* Fix ASAN support in configure.ac.
* Check if ASAN is supported by the compiler.
* Add MemorySanitizer support to configure.ac. Use it in Travis CI when supported.
* Fix an incorrect free() in list option handling.
* Re-write select_random*.lua benchmarks to the new SQL API.
* Remove stubs for old Lua scripts.
* Add select_random*.lua scripts to Makefile.am.
* Fix Travis/Coveralls links in the 'master' branch.
* Suppress urllib3 warnings for coveralls to work in Travis CI.
* Presumably better way to suppress SSL errors with coveralls in Travis.
* Exclude third-party libraries from coverage report.
* Rewrite bulk_insert.lua to the new SQL API + regression tests.
* Rewrite OLTP benchmarks with the new SQL API + cleanups.
* Fix oltp_insert.lua, add a regression test.
* Use local counter variables in oltp_common.lua.
* Test multiple connections per thread.
* Cache-line align important data structures in sb_lua.c.
* Revert unrelated changes from the previous commit.
* Improve script_bulk_insert_*.t tests stability.
* Fixes #13: Export db_fetch_row
* Fix 'make distcheck'.
* Fix test_run.sh to work with named tests.
* Disable api_sql_pgsql.t for now. Prepared statements need more work for PostgreSQL.
* Use pgsql_common.sh in PostgreSQL-specific regression tests.
* Add a comment to oltp_common.lua.
* Fixes #103: fail with an error when oltp_common.lua is called directly.
* Fix check for event() function in the previous commit.
* Move sysbench.rand.* functions to sysbench.rand.lua.
* s/SysBench/sysbench/g
* Fix 'make distcheck'.
* Fix a comment typo.
* Free connection's result set when closing it.
* In sysbench.sql.lua, report the caller on error, not the check_type() itself.
* Move the unused --myisam-max-rows option from drv_mysql.c to legacy API.
* Implement error propagation.
* Pass SQL state to Lua in case of errors.
* Implement customer error hooks.
* Fix api_sql_mysql.t to work with older MySQL versions.
* Convert main loop functions to FFI.
* Optimizations and cleanups around sb_next_event().
* Change max_requests and max_time_ns in sb_globals_t to uint64_t.
* Move tx_rate check from thread_run() to sb_event_stop().
* Convert OLTP scripts to prepared statements.
* Re-enable api_sql_pgsql.t.
* Travis CI portability fixes for api_sql_pgsql.t.
* Export sysbench.version and sysbench.version_string to Lua.
* Replace lua_pushstring() with lua_pushliteral() where possible.
* Do not crash if db_prepare fails with an error.
* Simplify ugly require/dofile constructs in OLTP scripts.
* Set LUA_PATH in test_run.sh to point to Lua scripts directory.
* Fix prepared statements for PostgreSQL driver.
* Add more Linux distributions to the build matrix.
* Fix api_sql_mysql.t.
* Exclude excessive OS combinations from Travis build matrix.
* Revert .travis.yml changes.
* Change the command line syntax: remove the --test option.
* Use cache-aligned allocation for thread_stats.
* Adjust cmdline.t to pass on slower machines.
* Grammar fixes.
* Fix help_drv_*.t tests broken by the command line syntax change.
* Fix typo in a help string.
* Command line options refactoring:
* Allow Lua scripts to declare supported options.
* Remove TODO.
* Add option declarations to OLTP tests.
* Move legacy API to sysbench.compat.lua.
* Rename the 'sysbench' subdirectory to 'src'.
* Silence spurious error messages on 'make install'.
* FIx sporadic cmdline.t failures.
* Make bundled OLTP Lua scripts executable, add hashbangs.
* Remove unnecessary 'local' declarations in oltp_common.lua.
* Fix a typo.
* Simplify condition in sysbench.lua:thread_run().
* Fix syntax error in sysbench.lua.
* Remove unused function checks from configure.ac.
* Signal an error on unknown error codes in drv_pgsql.c.
* When joining worker threads, decrement sb_globals.num_running atomically.
* pgsql mode now works with Redshift server. Its working, but need to eventually split this to another Redshift section (because obviously this doesn't work with PGSQL any more)
* MySQL/SSL changes: - added MYSQL_OPT_SSL_MODE option that's required now to enable/disable SSL - added mysql-ssl-cipher option to specify ssl-cipher
* Minor fixes to contributed SSL-related changes in drv_mysql.c.
* Fix help_drv_mysql.t after adding --mysql-ssl-cipher.
* Attempt to fix MacOS builds in Travis CI.
* Attempt #2 to fix MacOS builds in Travis CI.
* Attempt #3 to fix MacOS builds in Travis CI.
* Suppress "zero-length gnu_printf format string" warnings from GCC.
* Release memory allocated by command line options on exit.
* Fix obscure error with intermediate reports in tests that don't support them.
* Attempt #4 to fix MacOS builds in Travis CI.
* Missing braces around an OR. The test (select_random_points) now works for pgsql
* Missing braces around an OR. The test (select_random_range) now works for pgsql
* Revert "pgsql mode now works with Redshift server. Its working, but need to eventually split this to another Redshift section (because obviously this doesn't work with PGSQL any more)"
* Bulk Insert works for postgres. Unlike MySQL, PostgreSQL doesn't take UNSIGNED integers. We could move this to BIGINT as well, but since this is a performance benchmark and since not many would reach the 2Billion mark, think we should be okay with INTEGER for now
* select_random_xx should honour oltp_secondary_create, just like other tests
* Adding --pgsql-variant=redshift argument targets a Redshift DB
* Minor change to ensure all existing tests pass after previous commit
* Rafactor select_random_* benchmarks,
* Add PostgreSQL tests for select_random_*.lua
* sb_logger: Correct variable type
* Fix Homebrew + PostgreSQL woes again.
* Lua API regression tests.
* Specify DB driver explicitly in API tests.
* Use MySQL connection arguments in API tests.
* Fix portability by masking table options in api_sql.t.