mirror of
https://github.com/MariaDB/server.git
synced 2025-04-19 13:45:32 +02:00

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
|
|
#
|