diff options
author | dlenev@mysql.com <> | 2003-12-12 03:39:29 +0300 |
---|---|---|
committer | dlenev@mysql.com <> | 2003-12-12 03:39:29 +0300 |
commit | d7ebfbab1c867e15d2a4dc93eb2ccd9316f57abd (patch) | |
tree | 27e4c621a8cb1797bd140a3d7b363f4e2eb8629c /sql/sql_show.cc | |
parent | fddab846d4f3658b3488cbec43c7d16f07f14594 (diff) | |
download | mariadb-git-d7ebfbab1c867e15d2a4dc93eb2ccd9316f57abd.tar.gz |
Fix for Bug #1952
"SHOW TABLE STATUS very slow w/large number of tables"
Replaced old algorithm which were used in my_dir() and stored
all information about directory entries in one chunk of memory
with new one which stores file names and MY_STAT structures in
separate memroot, so now we don't need to copy this data during
reallocation of dir_entry array.
Diffstat (limited to 'sql/sql_show.cc')
-rw-r--r-- | sql/sql_show.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/sql_show.cc b/sql/sql_show.cc index cb6cd18b7c8..1a2f900eb7e 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -213,7 +213,7 @@ mysql_find_files(THD *thd,List<char> *files, const char *db,const char *path, else #endif { - if (file->name[0] == '.' || !MY_S_ISDIR(file->mystat.st_mode) || + if (file->name[0] == '.' || !MY_S_ISDIR(file->mystat->st_mode) || (wild && wild_compare(file->name,wild))) continue; } |