43 lines
1.4 KiB
Plaintext
43 lines
1.4 KiB
Plaintext
--source include/linux.inc
|
|
--source include/not_embedded.inc
|
|
|
|
--echo #
|
|
--echo # BUG#11747548:DETECT ORPHAN TEMP-POOL FILES, AND HANDLE GRACEFULLY.
|
|
--echo #
|
|
|
|
--echo #Set up.
|
|
#
|
|
# Note: We are explicitly using MyISAM engine here as the TC is trying
|
|
# to check for MyISAM files MYD/MYI. With InnoDB no such files are created
|
|
# instead intrinsic tables are stored in shared temporary tablespace.
|
|
#
|
|
let $internal_se = `select @@internal_tmp_disk_storage_engine`;
|
|
set global internal_tmp_disk_storage_engine = myisam;
|
|
|
|
CREATE TABLE pid_table(pid_no INT);
|
|
CREATE TABLE t1 (a BLOB);
|
|
INSERT INTO t1 VALUES (1), (2);
|
|
|
|
--echo #Create MYD and MYI files for intrinsic temp table.
|
|
--let $pid_file=`SELECT @@pid_file`
|
|
--replace_result $pid_file pid_file
|
|
--eval LOAD DATA LOCAL INFILE '$pid_file' INTO TABLE pid_table
|
|
--let $temp_file_MYD= `SELECT CONCAT('#sql_', LCASE(HEX(pid_no)), '_0', '.MYD') FROM pid_table`
|
|
--let $temp_file_MYI= `SELECT CONCAT('#sql_', LCASE(HEX(pid_no)), '_0', '.MYI') FROM pid_table`
|
|
--write_file $MYSQLTEST_VARDIR/tmp/$temp_file_MYD
|
|
EOF
|
|
--write_file $MYSQLTEST_VARDIR/tmp/$temp_file_MYI
|
|
EOF
|
|
|
|
--echo #Reports an error since the temp file already exists.
|
|
--replace_regex /.*Can't create\/write *.*/Can't create or write to file/
|
|
--error 1
|
|
SELECT a FROM t1 ORDER BY rand(1);
|
|
|
|
--echo #With patch, the query executes successfully.
|
|
SELECT a FROM t1 ORDER BY rand(1);
|
|
|
|
--echo #cleanup
|
|
DROP TABLE t1, pid_table;
|
|
eval set global internal_tmp_disk_storage_engine = $internal_se;
|