polardbxengine/mysql-test/suite/xengine_main/t/check.test

169 lines
4.0 KiB
Plaintext

# 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;
#
# Bug#26325 TEMPORARY TABLE "corrupt" after first read, according to CHECK TABLE
#
CREATE TEMPORARY TABLE t1(a INT);
CHECK TABLE t1;
REPAIR TABLE t1;
DROP TABLE t1;
--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 (XENGINE)
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=COPY;
--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 # Checking InnoDB storage engine
CREATE TABLE t2(i INT) ENGINE=InnoDB;
--echo # Table has been created with last_checked_for_upgrade = 0,
--echo # so the check will be performed
CHECK TABLE t2 FOR UPGRADE;
--echo # Checking again will detect that the table has already been checked
CHECK TABLE t2 FOR UPGRADE;
ALTER TABLE t2 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 t2 FOR UPGRADE;
ALTER TABLE t2 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 t2 FOR UPGRADE;
TRUNCATE TABLE t2;
--echo # Checking again after TRUNCATE to verify that the check status is
--echo # still present
CHECK TABLE t2 FOR UPGRADE;
--echo # Cleanup
DROP TABLE t2;
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;
--source suite/xengine/include/check_xengine_log_error.inc