mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	 f813c8541a
			
		
	
	
	f813c8541a
	
	
	
		
			
			mariadb-slap crashes with a floating point exception when run with -iterations=0 due to division by zero in generate_stats(). This occurs when calculating average timing by dividing by the number of iterations. To fix this, the solution checks if iterations == 0 before performing the division, and returns early from the function in such cases.
		
			
				
	
	
		
			265 lines
		
	
	
	
		
			7.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			265 lines
		
	
	
	
		
			7.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| 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`;
 | |
| 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));
 | |
| 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;
 | |
| create table t2(foo1 varchar(32), foo2 varchar(32));
 | |
| 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 = 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
 | |
| sys
 | |
| test
 | |
| # 'bug58090' database should be present.
 | |
| SHOW DATABASES;
 | |
| Database
 | |
| bug58090
 | |
| information_schema
 | |
| mtr
 | |
| mysql
 | |
| performance_schema
 | |
| sys
 | |
| 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
 | |
| #
 | |
| #
 | |
| # Bug MDEV-34621: Fix division by zero in mariadb-slap when iterations=0
 | |
| #
 |