diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2020-09-04 18:44:44 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2020-09-04 18:44:44 +0300 |
commit | 5ff7e68c7eaf2a2daacb0c1ea07b21c8a7bd2639 (patch) | |
tree | f0dac9f004764d37c81ef781707163bf105c0bc1 /mysql-test/main/temp_table_symlink.test | |
parent | 938db04898ee9029421f5251751239255dd81c15 (diff) | |
parent | 7f8cd326c68ce15961a84abbc844dfe72aa05a93 (diff) | |
download | mariadb-git-5ff7e68c7eaf2a2daacb0c1ea07b21c8a7bd2639.tar.gz |
Merge 10.4 into 10.5
Diffstat (limited to 'mysql-test/main/temp_table_symlink.test')
-rw-r--r-- | mysql-test/main/temp_table_symlink.test | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/mysql-test/main/temp_table_symlink.test b/mysql-test/main/temp_table_symlink.test new file mode 100644 index 00000000000..35f956e8890 --- /dev/null +++ b/mysql-test/main/temp_table_symlink.test @@ -0,0 +1,33 @@ +source include/not_windows.inc; + +# +# MDEV-23569 temporary tables can overwrite existing files +# + +let datadir=`select @@datadir`; +create table d1 (a int); +create temporary table t1 (a int); +perl; +chdir "$ENV{MYSQL_TMP_DIR}/mysqld.1/"; +for (<#sql*.MYI>) { + /^(#sql-temptable-[0-9a-f]+)(-[0-9a-f]+-)([0-9a-f]+)\.MYI$/ or die $_; + symlink "$ENV{datadir}/test/d1.MYI", sprintf "$1$2%x.MYI", hex($3)+1; + symlink "$ENV{datadir}/test/d1.MYI", sprintf "$1$2%x.MAI", hex($3)+1; + symlink "$ENV{datadir}/test/d1.MYI", sprintf "$1$2%x.MAI", hex($3)+2; + symlink "$ENV{datadir}/test/d1.MYI", sprintf "$1$2%x.MAI", hex($3)+3; + symlink "$ENV{datadir}/test/d1.MYI", "$1-0.MAI"; +} +EOF + +error 1,1030; +create temporary table t2 (a int); +error 1,1030; +create temporary table t3 (a int) engine=Aria; +error 1,1030; +select * from information_schema.columns where table_schema='test'; + +flush tables; +select * from d1; +drop temporary table t1; +remove_files_wildcard $MYSQL_TMP_DIR/mysqld.1 *sql*; +drop table d1; |