74 lines
1.3 KiB
Plaintext
74 lines
1.3 KiB
Plaintext
#
|
|
# Test flush on error in bulk load to make sure we do a proper cleanup.
|
|
# Note: We flush all dirty pages before applying any online log in bulk load.
|
|
#
|
|
|
|
-- source include/have_debug.inc
|
|
|
|
# Create Insert Procedure
|
|
DELIMITER |;
|
|
CREATE PROCEDURE populate_t1()
|
|
BEGIN
|
|
DECLARE i int DEFAULT 1;
|
|
|
|
START TRANSACTION;
|
|
WHILE (i <= 10000) DO
|
|
INSERT INTO t1 VALUES (i, i, CONCAT('a', i));
|
|
SET i = i + 1;
|
|
END WHILE;
|
|
COMMIT;
|
|
END|
|
|
DELIMITER ;|
|
|
|
|
CREATE TABLE t1(
|
|
class INT,
|
|
id INT,
|
|
title VARCHAR(100)
|
|
) ENGINE=InnoDB;
|
|
|
|
-- disable_query_log
|
|
CALL populate_t1();
|
|
-- enable_query_log
|
|
|
|
SELECT COUNT(*) FROM t1;
|
|
|
|
SET SESSION debug="+d,ib_index_build_fail_before_flush";
|
|
|
|
-- error ER_GET_ERRNO
|
|
CREATE INDEX idx_id ON t1(id);
|
|
|
|
CHECK TABLE t1;
|
|
|
|
-- error ER_GET_ERRNO
|
|
CREATE INDEX idx_title ON t1(title);
|
|
|
|
CHECK TABLE t1;
|
|
|
|
-- error ER_GET_ERRNO
|
|
CREATE FULLTEXT INDEX fidx_title ON t1(title);
|
|
|
|
CHECK TABLE t1;
|
|
|
|
-- error ER_GET_ERRNO
|
|
ALTER TABLE t1 ADD COLUMN content TEXT, ALGORITHM=INPLACE;
|
|
|
|
CHECK TABLE t1;
|
|
|
|
SET SESSION debug="-d,ib_index_build_fail_before_flush";
|
|
|
|
INSERT INTO t1 VALUES(10001, 10001, 'a10000');
|
|
|
|
-- error ER_DUP_ENTRY
|
|
ALTER TABLE t1 ADD UNIQUE INDEX idx_title(title);
|
|
|
|
CHECK TABLE t1;
|
|
|
|
-- error ER_DUP_ENTRY
|
|
ALTER TABLE t1 ADD UNIQUE INDEX idx_id(id), ADD UNIQUE INDEX idx_title(title);
|
|
|
|
CHECK TABLE t1;
|
|
|
|
DROP TABLE t1;
|
|
|
|
DROP PROCEDURE populate_t1;
|