Commit 2ae79e4f authored by Mattias Jonsson's avatar Mattias Jonsson
Browse files

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
parent 0b097b77
Loading
Loading
Loading
Loading
+0 −66
Original line number Diff line number Diff line
@@ -157,23 +157,11 @@ tablea
SELECT * FROM tablea;
a
1
1
10
10
11
12
2
2
3
4
5
6
7
7
8
8
9
9
SHOW CREATE TABLE tablea;
Table	Create Table
tablea	CREATE TABLE `tablea` (
@@ -185,7 +173,6 @@ ALTER TABLE TableA REMOVE PARTITIONING;
SELECT * FROM TableA;
a
1
1
10
11
12
@@ -195,11 +182,8 @@ a
5
6
7
7
8
8
9
9
SHOW CREATE TABLE TableA;
Table	Create Table
TableA	CREATE TABLE `TableA` (
@@ -372,23 +356,11 @@ tablea
SELECT * FROM tablea;
a
1
1
10
10
11
12
2
2
3
4
5
6
7
7
8
8
9
9
SHOW CREATE TABLE tablea;
Table	Create Table
tablea	CREATE TABLE `tablea` (
@@ -400,21 +372,16 @@ ALTER TABLE TableA REMOVE PARTITIONING;
SELECT * FROM TableA;
a
1
1
10
10
11
12
2
2
3
4
5
6
7
8
8
9
9
SHOW CREATE TABLE TableA;
Table	Create Table
@@ -580,23 +547,11 @@ tablea
SELECT * FROM tablea;
a
1
1
10
10
11
12
2
2
3
4
5
6
7
7
8
8
9
9
SHOW CREATE TABLE tablea;
Table	Create Table
tablea	CREATE TABLE `tablea` (
@@ -608,23 +563,17 @@ ALTER TABLE TableA REMOVE PARTITIONING;
SELECT * FROM TableA;
a
1
1
10
10
11
12
2
2
3
4
5
6
7
7
8
8
9
9
SHOW CREATE TABLE TableA;
Table	Create Table
TableA	CREATE TABLE `TableA` (
@@ -783,19 +732,10 @@ tablea
SELECT * FROM tablea;
a
1
1
10
12
2
3
4
5
6
7
7
8
8
9
9
SHOW CREATE TABLE tablea;
Table	Create Table
@@ -808,19 +748,13 @@ ALTER TABLE TableA REMOVE PARTITIONING;
SELECT * FROM TableA;
a
1
1
10
12
2
3
4
5
6
7
7
8
8
9
9
SHOW CREATE TABLE TableA;
Table	Create Table
+1 −1
Original line number Diff line number Diff line
@@ -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));