用于EagleEye3.0 规则集漏报和误报测试的示例项目,项目收集于github和gitee
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

127 lines
2.9 KiB

3 months ago
# Save the initial number of concurrent sessions
--source include/count_sessions.inc
let $global_tmp_storage_engine = `select @@global.default_tmp_storage_engine`;
let $session_tmp_storage_engine = `select @@session.default_tmp_storage_engine`;
connect (con1,localhost,root,,);
connect (con2,localhost,root,,);
connection con1;
--disable_warnings
drop table if exists t1,t2;
drop view if exists v1;
--enable_warnings
# Add a lot of keys to slow down check
create table t1(n int not null, key(n), key(n), key(n), key(n));
let $1=10000;
disable_query_log;
while ($1)
{
eval insert into t1 values ($1);
dec $1;
}
enable_query_log;
send check table t1 extended;
connection con2;
insert into t1 values (200000);
connection con1;
reap;
connection default;
disconnect con1;
disconnect con2;
drop table t1;
# End of 4.1 tests
#
# Bug#9897 Views: 'Check Table' crashes MySQL, with a view and a table
# in the statement
#
Create table t1(f1 int);
Create table t2(f1 int);
Create view v1 as Select * from t1;
Check Table v1,t2;
drop view v1;
drop table t1, t2;
--echo #
--echo # Bug#56422 CHECK TABLE run when the table is locked reports corruption
--echo # along with timeout
--echo #
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1(a INT);
LOCK TABLE t1 WRITE;
--echo # Connection con1
connect(con1, localhost, root);
SET lock_wait_timeout= 1;
CHECK TABLE t1;
--echo # Connection default
connection default;
UNLOCK TABLES;
DROP TABLE t1;
disconnect con1;
# Wait till we reached the initial number of concurrent sessions
--source include/wait_until_count_sessions.inc
--echo #
--echo # Bug#24741307: add last_checked_for_upgrade column to dd.tables table
--echo #
--echo # Checking default storage engine (Innodb)
CREATE TABLE t1(i INT);
--echo # Table has been created with last_checked_for_upgrade = 0,
--echo # so the check will be performed
CHECK TABLE t1 FOR UPGRADE;
--echo # Checking again will detect that the table has already been checked
CHECK TABLE t1 FOR UPGRADE;
ALTER TABLE t1 CHANGE COLUMN i j INT, ALGORITHM=INPLACE;
--echo # Checking again after ALTER INPLACE to verify that the check status is
--echo # still present
CHECK TABLE t1 FOR UPGRADE;
ALTER TABLE t1 CHANGE COLUMN j k INT, ALGORITHM=COPY;
--echo # Checking again after ALTER COPY to verify that the check status is
--echo # still present
CHECK TABLE t1 FOR UPGRADE;
ALTER TABLE t1 ADD COLUMN l INT, ALGORITHM=INSTANT;
--echo # Checking again after ALTER INSTANT to verify that the check status
--echo # still present
CHECK TABLE t1 FOR UPGRADE;
TRUNCATE TABLE t1;
--echo # Checking again after TRUNCATE to verify that the check status
--echo # still present
CHECK TABLE t1 FOR UPGRADE;
--echo # Cleanup
DROP TABLE t1;
--echo #
--echo # Bug#28220374 T != NULLPTR' AT BOOL)::<LAMBDA IN SQL/SQL_ADMIN.CC
--echo #
--echo # Verify that OK is returned for temporary tables
CREATE TEMPORARY TABLE tt1(i INT);
CHECK TABLE tt1 FOR UPGRADE;
DROP TABLE tt1;