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.
Just had to put in the removal of the autocommit, and make sure the commit occurred at the propper time.
client/mysqlslap.c:
Fix for auto-connect on counter. Relabeled variable which was misnamed.
mysql-test/r/mysqlslap.result:
Updated result file
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.
BUG#29803
client/mysqlslap.c:
1) Declared VOID on pre/post statement return values (we were not using the return value and I prefer to see this declared explicitly)
2) Removed extra count call which was causing duplication of rows with parsed files examples.
mysql-test/r/mysqlslap.result:
The additional selects come from fixing the pre return count call. Dropping the final select is a result of fixing the true count.
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
client/client_priv.h:
More options
client/mysqlslap.c:
Extended the auto-sql in the following ways:
1) You can now specify a load type of either "mixed", "read", or "write". Not great, but a definite improvement.
2) A new option allows you to specify how many rows are inserted for the "read" load.
I also fixed a bug where limit was not being reached by running threads.
mysql-test/r/mysqlslap.result:
Updated results
- Terminate loop not only when the limit is met, but alse when there is no more stmts
client/mysqlslap.c:
Terminate loop not only when the limit is met, but alse when there is no more stmts
mysql-test/r/mysqlslap.result:
Remove the extra statmemnt
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
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
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