Commit 06f1f1aa authored by Vicențiu Ciorbaru's avatar Vicențiu Ciorbaru

Make ELOOP be considered a File Not Found error when it comes from handlerton

Fix symlink-aria && symlink-myisam to account for this possibility.
parent 032678ad
...@@ -14,7 +14,7 @@ set debug_sync='mi_open_datafile SIGNAL ok WAIT_FOR go'; ...@@ -14,7 +14,7 @@ set debug_sync='mi_open_datafile SIGNAL ok WAIT_FOR go';
select * from t1; select * from t1;
set debug_sync='now WAIT_FOR ok'; set debug_sync='now WAIT_FOR ok';
set debug_sync='now SIGNAL go'; set debug_sync='now SIGNAL go';
ERROR HY000: File 'MYSQLTEST_VARDIR/tmp/foo/t1.MAD' not found (Errcode: 20 "Not a directory") ERROR HY000: File 'MYSQLTEST_VARDIR/tmp/foo/t1.MAD' not found (Errcode: 20 <errmsg>)
flush tables; flush tables;
drop table if exists t1; drop table if exists t1;
create table t1 (a int, b char(16), index (a)) create table t1 (a int, b char(16), index (a))
...@@ -32,7 +32,7 @@ set debug_sync='mi_open_kfile SIGNAL waiting WAIT_FOR run'; ...@@ -32,7 +32,7 @@ set debug_sync='mi_open_kfile SIGNAL waiting WAIT_FOR run';
select a from t1; select a from t1;
set debug_sync='now WAIT_FOR waiting'; set debug_sync='now WAIT_FOR waiting';
set debug_sync='now SIGNAL run'; set debug_sync='now SIGNAL run';
ERROR HY000: Can't find file: './test/t1.MAI' (errno: 20 "Not a directory") ERROR HY000: Can't find file: './test/t1.MAI' (errno: 20 <errmsg>)
flush tables; flush tables;
drop table if exists t1; drop table if exists t1;
drop table mysql.t1; drop table mysql.t1;
......
...@@ -13,7 +13,7 @@ set debug_sync='mi_open_datafile SIGNAL ok WAIT_FOR go'; ...@@ -13,7 +13,7 @@ set debug_sync='mi_open_datafile SIGNAL ok WAIT_FOR go';
select * from t1; select * from t1;
set debug_sync='now WAIT_FOR ok'; set debug_sync='now WAIT_FOR ok';
set debug_sync='now SIGNAL go'; set debug_sync='now SIGNAL go';
ERROR HY000: File 'MYSQLTEST_VARDIR/tmp/foo/t1.MYD' not found (Errcode: 20 "Not a directory") ERROR HY000: File 'MYSQLTEST_VARDIR/tmp/foo/t1.MYD' not found (Errcode: 20 <errmsg>)
flush tables; flush tables;
drop table if exists t1; drop table if exists t1;
create table t1 (a int, b char(16), index (a)) create table t1 (a int, b char(16), index (a))
...@@ -31,7 +31,7 @@ set debug_sync='mi_open_kfile SIGNAL waiting WAIT_FOR run'; ...@@ -31,7 +31,7 @@ set debug_sync='mi_open_kfile SIGNAL waiting WAIT_FOR run';
select a from t1; select a from t1;
set debug_sync='now WAIT_FOR waiting'; set debug_sync='now WAIT_FOR waiting';
set debug_sync='now SIGNAL run'; set debug_sync='now SIGNAL run';
ERROR HY000: Can't find file: './test/t1.MYI' (errno: 20 "Not a directory") ERROR HY000: Can't find file: './test/t1.MYI' (errno: 20 <errmsg>)
flush tables; flush tables;
drop table if exists t1; drop table if exists t1;
drop table mysql.t1; drop table mysql.t1;
......
...@@ -25,7 +25,7 @@ exec rm -r $MYSQLTEST_VARDIR/tmp/foo; ...@@ -25,7 +25,7 @@ exec rm -r $MYSQLTEST_VARDIR/tmp/foo;
exec ln -s $datadir/mysql $MYSQLTEST_VARDIR/tmp/foo; exec ln -s $datadir/mysql $MYSQLTEST_VARDIR/tmp/foo;
set debug_sync='now SIGNAL go'; set debug_sync='now SIGNAL go';
connection default; connection default;
replace_regex / '.*\/tmp\// 'MYSQLTEST_VARDIR\/tmp\// /31/20/; replace_regex / '.*\/tmp\// 'MYSQLTEST_VARDIR\/tmp\// /31/20/ /40/20/ /20.*/20 <errmsg>)/;
error 29; error 29;
reap; reap;
flush tables; flush tables;
...@@ -49,7 +49,7 @@ exec rm -r $MYSQLTEST_VARDIR/tmp/foo; ...@@ -49,7 +49,7 @@ exec rm -r $MYSQLTEST_VARDIR/tmp/foo;
exec ln -s $datadir/mysql $MYSQLTEST_VARDIR/tmp/foo; exec ln -s $datadir/mysql $MYSQLTEST_VARDIR/tmp/foo;
set debug_sync='now SIGNAL run'; set debug_sync='now SIGNAL run';
connection default; connection default;
replace_regex / '.*\/test\// '.\/test\// /31/20/; replace_regex / '.*\/test\// '.\/test\// /31/20/ /40/20/ /20.*/20 <errmsg>)/;
error ER_FILE_NOT_FOUND; error ER_FILE_NOT_FOUND;
reap; reap;
flush tables; flush tables;
......
...@@ -3372,6 +3372,7 @@ void handler::print_error(int error, myf errflag) ...@@ -3372,6 +3372,7 @@ void handler::print_error(int error, myf errflag)
break; break;
case ENOENT: case ENOENT:
case ENOTDIR: case ENOTDIR:
case ELOOP:
textno=ER_FILE_NOT_FOUND; textno=ER_FILE_NOT_FOUND;
break; break;
case ENOSPC: case ENOSPC:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment