diff options
author | Mattias Jonsson <mattias.jonsson@sun.com> | 2008-10-03 20:08:40 +0200 |
---|---|---|
committer | Mattias Jonsson <mattias.jonsson@sun.com> | 2008-10-03 20:08:40 +0200 |
commit | a470fd7ba487de1a9a3b44085fa8c3db697d2878 (patch) | |
tree | a55172e98f0b18b4bd8308505f0c1288d09a2319 /storage | |
parent | eb656b216468c2739f22f1df0f828054ea6bf1cd (diff) | |
download | mariadb-git-a470fd7ba487de1a9a3b44085fa8c3db697d2878.tar.gz |
Bug#37719: Crash if rename Archive table to same name with different
case and then select
Problem was that the archive share was using a case insensitive
charset when comparing table names
Solution was to use a case sensitive char set when the table
names are case sensitive
mysql-test/suite/parts/r/partition_mgm_lc0_archive.result:
Bug#37719: Crash if rename Archive table to same name with different
case and then select
Updated to correct result.
storage/archive/ha_archive.cc:
Bug#37719: Crash if rename Archive table to same name with different
case and then select
system_charset_info is case insensitive, table_alias_charset depends
on the filesystem/lower_case_table_names variable.
since there could be two tables that used the same share, unpredicted
things could happen.
Diffstat (limited to 'storage')
-rw-r--r-- | storage/archive/ha_archive.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/storage/archive/ha_archive.cc b/storage/archive/ha_archive.cc index 967e315d4a4..7edfca53751 100644 --- a/storage/archive/ha_archive.cc +++ b/storage/archive/ha_archive.cc @@ -171,7 +171,7 @@ int archive_db_init(void *p) if (pthread_mutex_init(&archive_mutex, MY_MUTEX_INIT_FAST)) goto error; - if (hash_init(&archive_open_tables, system_charset_info, 32, 0, 0, + if (hash_init(&archive_open_tables, table_alias_charset, 32, 0, 0, (hash_get_key) archive_get_key, 0, 0)) { VOID(pthread_mutex_destroy(&archive_mutex)); |