Commit fbc24f33 authored by unknown's avatar unknown
Browse files

Fix for bug#15851 Unlistable directories yield no info from information_schema

  to skip directories which are not allowed for read


mysql-test/r/information_schema.result:
  Fix for bug#15851 Unlistable directories yield no info from information_schema
    test result
mysql-test/t/information_schema.test:
  Fix for bug#15851 Unlistable directories yield no info from information_schema
    test case
parent 03ad365b
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1084,3 +1084,8 @@ DROP TABLE t1;
DROP VIEW v1;
DROP FUNCTION func1;
DROP FUNCTION func2;
create database mysqltest;
create table mysqltest.t1(a int);
select table_schema from information_schema.tables where table_schema='mysqltest';
table_schema
drop database mysqltest;
+10 −0
Original line number Diff line number Diff line
@@ -790,3 +790,13 @@ DROP TABLE t1;
DROP VIEW v1;
DROP FUNCTION func1;
DROP FUNCTION func2;

#
# Bug #15851 Unlistable directories yield no info from information_schema
#
create database mysqltest;
create table mysqltest.t1(a int);
--exec chmod -r $MYSQL_TEST_DIR/var/master-data/mysqltest
select table_schema from information_schema.tables where table_schema='mysqltest';
--exec chmod +r $MYSQL_TEST_DIR/var/master-data/mysqltest
drop database mysqltest;
+2 −0
Original line number Diff line number Diff line
@@ -170,6 +170,8 @@ MY_DIR *my_dir(const char *path, myf MyFlags)
      bzero(finfo.mystat, sizeof(MY_STAT));
      VOID(strmov(tmp_file,dp->d_name));
      VOID(my_stat(tmp_path, finfo.mystat, MyFlags));
      if (!(finfo.mystat->st_mode & MY_S_IREAD))
        continue;
    }
    else
      finfo.mystat= NULL;