Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.4(EOL), 11.4
-
None
Description
I run this MTR test on Linux:
--source include/have_lowercase0.inc
|
--source include/have_case_sensitive_file_system.inc
|
 |
CREATE TABLE mysql.GENERAL_log (a INT); |
INSERT INTO mysql.GENERAL_log VALUES (1),(2); |
DROP TABLE mysql.GENERAL_log; |
It fails on the INSERT statement with the following error:
mysqltest: At line 13: query 'INSERT INTO mysql.GENERAL_log VALUES (1),(2)' failed: ER_CANT_LOCK_LOG_TABLE (1556): You can't use locks with log tables
|
This is wrong. GENERAL_log is not a log table.
The problem resides in the function get_table_category(), in these line:
if (lex_string_eq(&GENERAL_LOG_NAME, name)) |
return TABLE_CATEGORY_LOG; |
This is wrong to compare table names case insensitively in Linux.
Table names should be compared according to --lower-case-table-names.
The same problem is repeatable for "slow_log" and "transaction_registry".
Attachments
Issue Links
- relates to
-
MDEV-31340 Remove MY_COLLATION_HANDLER::strcasecmp()
- Closed