mariadb/mysql-test/r/mysqlslap.result

261 lines
7.2 KiB
Text
Raw Normal View History

See message in mysqlslap.c, but basically 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
2005-12-25 00:41:40 +01:00
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64));
INSERT INTO t1 VALUES (1, 'This is a test');
select * from t1;
See message in mysqlslap.c, but basically 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
2005-12-25 00:41:40 +01:00
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64));
INSERT INTO t1 VALUES (1, 'This is a test');
select * from t1;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64));
INSERT INTO t1 VALUES (1, 'This is a test');
select * from t1;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64));
INSERT INTO t1 VALUES (1, 'This is a test');
select * from t1;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64));
INSERT INTO t1 VALUES (1, 'This is a test');
select * from t1;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64));
INSERT INTO t1 VALUES (1, 'This is a test');
select * from t1;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64));
INSERT INTO t1 VALUES (1, 'This is a test');
select * from t1;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64));
INSERT INTO t1 VALUES (1, 'This is a test');
select * from t1;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64));
INSERT INTO t1 VALUES (1, 'This is a test');
select * from t1;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64));
INSERT INTO t1 VALUES (1, 'This is a test');
select * from t1;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64));
INSERT INTO t1 VALUES (1, 'This is a test');
select * from t1;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64));
INSERT INTO t1 VALUES (1, 'This is a test');
select * from t1;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64));
INSERT INTO t1 VALUES (1, 'This is a test');
select * from t1;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64));
INSERT INTO t1 VALUES (1, 'This is a test');
select * from t1;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64));
INSERT INTO t1 VALUES (1, 'This is a test');
select * from t1;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64));
INSERT INTO t1 VALUES (1, 'This is a test');
select * from t1;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64));
INSERT INTO t1 VALUES (1, 'This is a test');
select * from t1;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64));
INSERT INTO t1 VALUES (1, 'This is a test');
select * from t1;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64));
INSERT INTO t1 VALUES (1, 'This is a test');
select * from t1;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64));
INSERT INTO t1 VALUES (1, 'This is a test');
select * from t1;
DROP SCHEMA IF EXISTS `mysqlslap`;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64)) Engine = heap;
create table t2(foo1 varchar(32), foo2 varchar(32));
See message in mysqlslap.c, but basically 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
2005-12-25 00:41:40 +01:00
INSERT INTO t1 VALUES (1, 'This is a test');
insert into t2 values ('test', 'test2');
select * from t1;
select * from t2;
DROP SCHEMA IF EXISTS `mysqlslap`;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64)) Engine = myisam;
See message in mysqlslap.c, but basically 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
2005-12-25 00:41:40 +01:00
create table t2(foo1 varchar(32), foo2 varchar(32));
INSERT INTO t1 VALUES (1, 'This is a test');
insert into t2 values ('test', 'test2');
See message in mysqlslap.c, but basically 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
2005-12-25 00:41:40 +01:00
select * from t1;
select * from t2;
DROP SCHEMA IF EXISTS `mysqlslap`;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64)) Engine = heap;
create table t2(foo1 varchar(32), foo2 varchar(32));
INSERT INTO t1 VALUES (1, 'This is a test');
insert into t2 values ('test', 'test2');
SHOW TABLES;
select * from t1;
select * from t2;
SHOW TABLES;
DROP SCHEMA IF EXISTS `mysqlslap`;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64)) Engine = myisam;
create table t2(foo1 varchar(32), foo2 varchar(32));
INSERT INTO t1 VALUES (1, 'This is a test');
insert into t2 values ('test', 'test2');
SHOW TABLES;
select * from t1;
select * from t2;
SHOW TABLES;
DROP SCHEMA IF EXISTS `mysqlslap`;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64)) Engine = heap;
create table t2(foo1 varchar(32), foo2 varchar(32));
INSERT INTO t1 VALUES (1, 'This is a test');
insert into t2 values ('test', 'test2');
SET AUTOCOMMIT=0;
SHOW TABLES;
SET AUTOCOMMIT=0;
select * from t1;
COMMIT;
select * from t2;
COMMIT;
select * from t1;
COMMIT;
select * from t2;
COMMIT;
select * from t1;
COMMIT;
select * from t2;
COMMIT;
COMMIT;
SHOW TABLES;
DROP SCHEMA IF EXISTS `mysqlslap`;
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE t1 (id int, name varchar(64)) Engine = myisam;
create table t2(foo1 varchar(32), foo2 varchar(32));
INSERT INTO t1 VALUES (1, 'This is a test');
insert into t2 values ('test', 'test2');
SET AUTOCOMMIT=0;
SHOW TABLES;
SET AUTOCOMMIT=0;
select * from t1;
COMMIT;
select * from t2;
COMMIT;
select * from t1;
COMMIT;
select * from t2;
COMMIT;
select * from t1;
COMMIT;
select * from t2;
COMMIT;
COMMIT;
SHOW TABLES;
DROP SCHEMA IF EXISTS `mysqlslap`;
#
# Bug #29985: mysqlslap -- improper handling of resultsets in SPROCs
#
DROP PROCEDURE IF EXISTS p1;
CREATE PROCEDURE p1() SELECT 1;
DROP PROCEDURE p1;
#
# Bug #11765157 - 58090: mysqlslap drops schema specified in
# create_schema if auto-generate-sql also set.
#
# 'bug58090' database should not be present.
SHOW DATABASES;
Database
information_schema
mtr
mysql
performance_schema
test
# 'bug58090' database should be present.
SHOW DATABASES;
Database
bug58090
information_schema
mtr
mysql
performance_schema
test
DROP DATABASE bug58090;
#
# Bug #11766072 - 59107: MYSQLSLAP CRASHES IF STARTED WITH NO ARGUMENTS ON WINDOWS
#
Benchmark
Average number of seconds to run all queries: TIME seconds
Minimum number of seconds to run all queries: TIME seconds
Maximum number of seconds to run all queries: TIME seconds
Number of clients running queries: 1
Average number of queries per client: 0
#
# MDEV-4684 - Enhancement request: --init-command support for mysqlslap
#
DROP TABLE t1;
#
# Bug MDEV-15789 (Upstream: #80329): MYSQLSLAP OPTIONS --AUTO-GENERATE-SQL-GUID-PRIMARY and --AUTO-GENERATE-SQL-SECONDARY-INDEXES DONT WORK
#