Added --init-command argument to mysqlslap: SQL Command to execute
when connecting to MySQL server. Will automatically be re-executed
when reconnecting.
This bug is a duplicate of Bug #31173, which was pushed to the
mysql-trunk 5.6 on 4th Aug, 2010. This is just a back-port of
the fix
mysql-test/r/mysqlslap.result:
A test added as part of the fix for Bug #59107
mysql-test/t/mysqlslap.test:
A test added as part of the fix for Bug #59107
create_schema if auto-generate-sql also set.
mysqlslap uses a schema to run its tests on and later
drops it if auto-generate-sql is used. This can be a
problem, if the schema is an already existing one.
If create-schema is used with auto-generate-sql option,
mysqlslap while performing the cleanup, drops the specified
database.
Fixed by introducing an option --no-drop, which, if used,
will prevent the dropping of schema at the end of the test.
client/client_priv.h:
Bug#11765157 - 58090: mysqlslap drops schema specified in
create_schema if auto-generate-sql also set.
Added an option.
client/mysqlslap.c:
Bug#11765157 - 58090: mysqlslap drops schema specified in
create_schema if auto-generate-sql also set.
Introduced an option 'no-drop' to forbid the removal of schema
even if 'create' or 'auto-generate-sql' options are used.
mysql-test/r/mysqlslap.result:
Added a testcase for Bug#11765157.
mysql-test/t/mysqlslap.test:
Added a testcase for Bug#11765157.
Multiple-result processing is required during the execution
of CALL statements for stored procedures, however the mysqlslap
client lacked that processing.
client/mysqlslap.c:
Fixed bug #29985.
1. Connection flags have been changed: the CLIENT_MULTI_STATEMENTS
flag has been added.
2. The run_task function has been modified to process multiple
result sets.
mysql-test/t/mysqlslap.test:
Added test case for bug #29985.
mysql-test/r/mysqlslap.result:
Added test case for bug #29985.
client/client_priv.h:
Clean up of options.
client/mysqlslap.c:
Cleanup of the connection and reconnect code.
mysql-test/r/mysqlslap.result:
Add of new test.
mysql-test/t/mysqlslap.test:
Additional test.
Kinda obvious that this was going to come up ;)
client/client_priv.h:
New options
client/mysqlslap.c:
Added option for pre/post run
mysql-test/r/mysqlslap.result:
Updated tests
mysql-test/t/mysqlslap.test:
Updated test
Ramification, UNIX now uses thread, support for slaves had to be dropped and there is no need for the --use-threads flag.
Added --concurrency=0 option so that it will start at 1 and keep going up until something bad happens :)
client/client_priv.h:
Dead option removed
client/mysqlslap.c:
Removed lock code, replaced with posix thread code.
mysql-test/mysql-test-run.pl:
Removed dead option
mysql-test/t/mysqlslap.test:
Removed dead option
Updated engine to also handle create options
Secondary indexes can now be generated (aka the test PeterZ thoughts!)
client/client_priv.h:
Option for generating secondary indexes
client/mysqlslap.c:
Option for generating secondary index operations.
Cleaned up memory allocation that was wasteful.
Engine options are now possible
Correctly report test type.
mysql-test/t/mysqlslap.test:
Additional test for secondary indexes
sql/authors.h:
Updated for Patrick
Default values for auto-generate have been made available for adjusting. Key test for rights now works with either type of keys.
client/client_priv.h:
Adding options for execution defines
client/mysqlslap.c:
Cleaning up memory allocation so that malloc failures die.
Fixed execution so that defaults are not adjustable.
mysql-test/t/mysqlslap.test:
Adding a test for defaults.
Fixed for autoincrement support/GUID
client/client_priv.h:
Option for autoincrement
client/mysqlslap.c:
Fixed buffer overflow where sprintf is used (now removed).
Fixed for auto-increment support/GUID.
mysql-test/t/mysqlslap.test:
Added test for auto increment, update, write, read, and mixed.
Added --use-threads option for porting to Windows.
client/mysqlslap.c:
Addinng thread option for porting to windows (second piece of code)
Also added flush call to fix one bug
mysql-test/r/mysqlslap.result:
New results
mysql-test/t/disabled.def:
Bug 16167 should not be fixed
mysql-test/t/mysqlslap.test:
Added test for new use-threads option
into neptunus.(none):/home/msvensson/mysql/wl2930/my51-wl2930-integration
client/mysqltest.c:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/mysqlslap.result:
Real output produced, remove "echo"
mysql-test/t/mysqlslap.test:
Real output produced, remove "echo"
Nothing really to see here. Updated comments in code.
More comments are probably needed, but isn't that always the case?
client/mysqlslap.c:
Updated docs.
Removed complicated malloc calls with a single malloc. Cleaned up the way statements were be free'd (aka its now a function instead of a bunch of copy/paste).
Removed older and not so accurate timediff() call. Cleaned up call to parse out concurrency.
mysql-test/t/mysqlslap.test:
Edited the tests to make sure we check default concurrency (we can't test concurrency normally since in theory the results could be random).
You will noticed that the result was not changed.
Now does averaging when running iterations.
Realligned a bunch of code and continued to remove global variables.
Added CSV output along with printable.
Structures are now provided for print options so adding XML, HTML, ... should now be trivial.
client/client_priv.h:
Simplified options
client/mysqlslap.c:
Giant cleanup.
We now do single pass testing, not dual pass. The dual pass made no sense really especially when you started adding in more stats.
Modified the testing loop so that it should not be possible to have both a fork() and thread version (which will make it easier to port to windows should someone want to).
mysql-test/r/mysqlslap.result:
New results
mysql-test/t/mysqlslap.test:
Adjusting for new options, and removed "archive" from the tests just in case archive is not compiled.
--engine="myisam,archive"
--number-of-rows has been removed for the time being and replaced with
option to allow you to just repeat multiple time all of the inserts you specifed with data. When number-of-rows-returns it will be instead used for averaging rows while growing concurrency.
Returned stats now has accurent row and query counts since it includes a multiple for the rows and queries added.
Parser is now a touch smarter and understands end of file issues if you have a delimiter at the end of the file.
client/client_priv.h:
New options
client/mysqlslap.c:
Modifications for doing repeated tests.
mysql-test/r/mysqlslap.result:
New result file
mysql-test/t/mysqlslap.test:
Changes in tests to make sure concurrency failures would not occur.
1) Parsing now works
2) Options are safer, aka it doesn't kill the machine and it cleans up after itself
3) Option of --only-print added so that you can see what it does.
4) Tiny cleanup of the auto generate sql. A lot more needs to be done with this, for it to be very valuable. I suspect it doesn't work all that well.
5) Delimeter is now a single character. No good escaping going on.
6) You can now change which schema it is runninng against.
Now I think I can go make use of it!
Though I need to add support for a "only run this many inserts, divide by the number of clients connecting, to really test scaling"
client/client_priv.h:
Added new options for mysqlslap
client/mysqlslap.c:
Lots of cleanup.
Highlights:
1) Parsing now works much better, though I suspect escaping issues still exist. All strings are parsed into a typedef called statement. This is a linked structure with each statement held in it. I added options for length so that when the time comes to fix this for binary data the guts of the main executing loop will not need to be changed
2) Cleaned up options so that it will not destroy data by default and will clean up itself by default. So no leaving around of gobs of data.
3) Added option of --only-print to see the SQL it would have executed
4) Parsing handles whitespace trick (which will come back to bite someone I expect)
5) Delimeter is now a single character
6) All memory allocated should now be freed.
7) Set defaults so that only a single run will occur if none are given.
8) You can now change the schema that it runs against.
mysql-test/r/information_schema.result:
Fix for Antony's merge
mysql-test/r/mysqlslap.result:
New result set
More testing
mysql-test/t/mysqlslap.test:
More testing
Don't run "mysqlslap" on Windows
mysqlslap.test:
We don't run "mysqlslap" on Windows
mysql.sln:
Removed build of "client/mysqlslap.c" on Windows
VC++Files/mysql.sln:
Removed build of "client/mysqlslap.c" on Windows
mysql-test/t/mysqlslap.test:
We don't run "mysqlslap" on Windows
mysql-test/mysql-test-run.pl:
Don't run "mysqlslap" on Windows
and modifications to mysql-test-run(.pl/.sh)
client/Makefile.am:
Worklog #2983, added mysqlslap to Makefile.am
client/client_priv.h:
Worklog #2983 Added OPT_CREATE_SLAP_SCHEMA
mysql-test/mysql-test-run.pl:
Worklog #2983 Added mysqlslap test binary to test script
mysql-test/mysql-test-run.sh:
Worklog #2983 Added mysqlslap binary def to test script
client/mysqlslap.c:
Worklog #2983 mysqlslap.c, new utility for running load simulation.
mysql-test/r/mysqlslap.result:
Worklog #2983 Mysqlslap test results
mysql-test/t/mysqlslap.test:
Worklog #2983 Mysqlslap test