Details
- 
    
Bug
 - 
    Status: Closed (View Workflow)
 - 
    
Major
 - 
    Resolution: Fixed
 - 
    11.4, 10.4(EOL)
 - 
    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
 
 -