# Testcase for # Bug#49628 corrupt table after legal SQL # let $my_load_file= LOAD_FILE('/work/randgen-new1/data/earth579kb.jpg'); --disable_abort_on_error --disable_warnings DROP TABLE IF EXISTS t1; DROP TABLE IF EXISTS t2; DROP TABLE IF EXISTS t3; DROP TABLE IF EXISTS t4; --enable_warnings CREATE TABLE t1 ( col_tinytext tinytext, col_char_10 char(10), col_int int, col_varchar varchar (1), col_longtext longtext, pk int auto_increment, col_varchar_257 varchar(257), col_enum enum ('a'), col_varchar_10 varchar(10), col_tinyint tinyint, primary key (pk)) ENGINE=myisam; CREATE TABLE t2 ( col_varchar_257 varchar(257), col_longtext longtext, col_tinytext tinytext, col_int int, col_enum enum ('a'), col_varchar varchar (1), col_varchar_10 varchar(10), pk int, col_tinyint tinyint, col_char_10 char(10), primary key (pk)) ENGINE=myisam; CREATE TABLE t3 ( col_char_10 char(10), col_enum enum ('a'), col_tinytext tinytext, col_tinyint tinyint, col_longtext longtext, col_int int, pk int auto_increment, col_varchar_10 varchar(10), col_varchar varchar (1), col_varchar_257 varchar(257), primary key (pk)) ENGINE=myisam; ALTER TABLE t3 DISABLE KEYS; eval INSERT INTO t3 (col_char_10,col_enum,col_tinytext,col_tinyint,col_longtext ,col_int,pk ,col_varchar_10,col_varchar,col_varchar_257) VALUES ('Z' ,'Z' ,'Z' ,1 ,$my_load_file ,1 ,2 ,'Z' ,'Z' ,'Z') , ('Z' ,'Z' ,'Z' ,1 ,'Z' ,1 ,3 ,'Z' ,'Z' ,'Z') , ('Z' ,'Z' ,'Z' ,1 ,'Z' ,2 ,4 ,'Z' ,'Z' ,'Z'); COMMIT; ALTER TABLE t3 ENABLE KEYS; eval REPLACE INTO t1 (col_tinytext,col_char_10,col_int,col_varchar,col_longtext ,pk ,col_varchar_257,col_enum,col_varchar_10,col_tinyint) VALUES ('Z' ,'Z' ,1 ,'Z' ,$my_load_file,2 ,'Z' ,'Z' ,'Z' ,1), ('Z' ,'Z' ,1 ,'Z' ,'Z' ,2 ,'Z' ,'Z' ,'Z' ,1) , ('Z' ,'Z' ,1 ,'Z' ,'Z' ,3 ,3 ,'Z' ,'Z' ,1) , ('Z' ,'Z' ,1 ,'Z' ,$my_load_file,2 ,2 ,'Z' ,'Z' ,1) ; REPLACE INTO t3 SELECT * FROM t1 WHERE pk = 2; REPLACE INTO t1 SELECT * FROM t3 WHERE pk = 4; REPLACE INTO t1 SELECT * FROM t3 WHERE pk = 2; CREATE TABLE t4 AS SELECT * FROM t1; SELECT COUNT(*) FROM t1; REPLACE INTO t1 SELECT * FROM t4 WHERE pk = 2; SELECT col_char_10 FROM t1; REPAIR TABLE t1; DROP TABLE t1; DROP TABLE t2; DROP TABLE t3; DROP TABLE t4; exit;