[MDEV-32026] lowercase_table2.test failures in 11.3 Created: 2023-08-28  Updated: 2023-10-23  Resolved: 2023-08-29

Status: Closed
Project: MariaDB Server
Component/s: Character Sets
Affects Version/s: 11.3
Fix Version/s: 11.3.0

Type: Bug Priority: Critical
Reporter: Alexander Barkov Assignee: Alexander Barkov
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Blocks
blocks MDEV-31531 Remove my_casedn_str() and my_caseup_... In Testing
blocks MDEV-31606 Refactor check_db_name() to get a con... Closed
Problem/Incident
is caused by MDEV-31948 Add class DBNameBuffer, split check_d... Closed
is caused by MDEV-31978 Turn ok_for_lower_case_names() to a m... Closed
is caused by MDEV-31982 Remove old check_db_name() from prepa... Closed
is caused by MDEV-31986 Remove old check_db_name() from make_... Closed

 Description   

The current 11.3 fails on lowercase_table2.test.

The problem was not found by build-bot because it skips lowercase_table2.test on windows due to a missing *.opt file.

The test will be enabled on buildbot when MDEV-30765 get merged to 11.3

This is the diff produced:

--- /home/bar/maria-git/server.11.3.t/mysql-test/main/lowercase_table2.result	2023-08-21 09:41:13.112667012 +0400
+++ /home/bar/maria-git/server.11.3.t/mysql-test/main/lowercase_table2.reject	2023-08-28 13:33:13.959507582 +0400
@@ -14,7 +14,7 @@
 Table	Create Table
 T1	CREATE TABLE `T1` (
   `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
 RENAME TABLE T1 TO T2;
 SHOW TABLES LIKE "T2";
 Tables_in_test (T2)
@@ -55,8 +55,8 @@
 CREATE DATABASE `TEST_$1`;
 SHOW DATABASES LIKE "TEST%";
 Database (TEST%)
-TEST_$1
 test
+test_$1
 DROP DATABASE `test_$1`;
 CREATE TABLE T1 (a int) engine=innodb;
 INSERT INTO T1 VALUES (1);
@@ -70,7 +70,7 @@
 Table	Create Table
 T1	CREATE TABLE `T1` (
   `a` int(11) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
 RENAME TABLE T1 TO T2;
 SHOW TABLES LIKE "T2";
 Tables_in_test (T2)
@@ -157,7 +157,7 @@
 use mysqltest_LC2;
 create table myUC (i int);
 show tables;
-Tables_in_mysqltest_LC2
+Tables_in_mysqltest_lc2
 myUC
 insert into myUC values (1),(2),(3);
 select * from myUC;
@@ -213,9 +213,6 @@
 WHERE trigger_schema COLLATE utf8_bin = 'BUP_XPFM_COMPAT_DB2'
   ORDER BY trigger_schema, trigger_name;
 trigger_schema	trigger_name	event_object_table
-BUP_XPFM_COMPAT_DB2	trigger1	table1
-BUP_XPFM_COMPAT_DB2	TRIGGER2	TABLE2
-BUP_XPFM_COMPAT_DB2	TrigGer3	table3
 DROP DATABASE BUP_XPFM_COMPAT_DB2;
 # End of 5.1 tests
 #
@@ -237,7 +234,7 @@
 use mysqltest_UPPERCASE;
 select database();
 database()
-mysqltest_UPPERCASE
+mysqltest_uppercase
 create table t_bug44738_UPPERCASE (i int) comment='Old comment';
 create table t_bug44738_lowercase (i int) comment='Old comment';
 create table t_bug44738_UPPERCASE2 (i int) comment='Old comment';
@@ -246,10 +243,10 @@
 where table_schema like 'mysqltest_%' and table_name like 't_bug44738_%'
   order by table_name;
 table_schema	table_name	table_comment
-mysqltest_UPPERCASE	t_bug44738_lowercase	Old comment
-mysqltest_UPPERCASE	t_bug44738_lowercase2	Old comment
-mysqltest_UPPERCASE	t_bug44738_UPPERCASE	Old comment
-mysqltest_UPPERCASE	t_bug44738_UPPERCASE2	Old comment
+mysqltest_uppercase	t_bug44738_lowercase	Old comment
+mysqltest_uppercase	t_bug44738_lowercase2	Old comment
+mysqltest_uppercase	t_bug44738_UPPERCASE	Old comment
+mysqltest_uppercase	t_bug44738_UPPERCASE2	Old comment
 alter table t_bug44738_UPPERCASE comment='New comment';
 alter table t_bug44738_lowercase comment='New comment';
 alter table mysqltest_uppercase.t_bug44738_UPPERCASE2 comment='New comment';
@@ -261,10 +258,10 @@
 where table_schema like 'mysqltest_%' and table_name like 't_bug44738_%'
   order by table_name;
 table_schema	table_name	table_comment
-mysqltest_UPPERCASE	t_bug44738_lowercase	New comment
-mysqltest_UPPERCASE	t_bug44738_lowercase2	New comment
-mysqltest_UPPERCASE	t_bug44738_UPPERCASE	New comment
-mysqltest_UPPERCASE	t_bug44738_UPPERCASE2	New comment
+mysqltest_uppercase	t_bug44738_lowercase	New comment
+mysqltest_uppercase	t_bug44738_lowercase2	New comment
+mysqltest_uppercase	t_bug44738_UPPERCASE	New comment
+mysqltest_uppercase	t_bug44738_UPPERCASE2	New comment
 drop database mysqltest_UPPERCASE;
 use test;
 # Let us check that the original test case which led to discovery
@@ -310,27 +307,27 @@
 show databases like 'mysql%';
 Database (mysql%)
 mysql
-mysql_TEST
+mysql_test
 show databases like 'mysql_T%';
 Database (mysql_T%)
-mysql_TEST
+mysql_test
 show databases like 'mysql_t%';
 Database (mysql_t%)
-mysql_TEST
+mysql_test
 show create database mysql_test;
 Database	Create Database
-mysql_test	CREATE DATABASE `mysql_test` /*!40100 DEFAULT CHARACTER SET latin1 */
+mysql_test	CREATE DATABASE `mysql_test` /*!40100 DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci */
 show create database mysql_TEST;
 Database	Create Database
-mysql_TEST	CREATE DATABASE `mysql_TEST` /*!40100 DEFAULT CHARACTER SET latin1 */
+mysql_TEST	CREATE DATABASE `mysql_test` /*!40100 DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci */
 show create table mysql_TEST.T1;
 Table	Create Table
 T1	CREATE TABLE `T1` (
   `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
 show create table mysql_test.t1;
 Table	Create Table
 t1	CREATE TABLE `t1` (
   `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
 drop database mysql_TEST;
 
mysqltest: Result length mismatch
 
 - saving '/home/bar/CIFSDIR/var/log/main.lowercase_table2-innodb/' to '/home/bar/CIFSDIR/var/log/main.lowercase_table2-innodb/'
--------------------------------------------------------------------------
The servers were restarted 0 times
Spent 0.000 of 6 seconds executing testcases
 
Failure: Failed 1/1 tests, 0.00% were successful.
 
Failing test(s): main.lowercase_table2
 
The log files in var/log may give you some hint of what went wrong.
 
If you want to report this error, please read first the documentation
at http://dev.mysql.com/doc/mysql/en/mysql-test-suite.html
 
mysql-test-run: *** ERROR: there were failing test cases

  • The extra COLLATE clause should be recored
  • The wrong letter case in others line happen because of bugs made in a number of patches related to MDEV-31531 (see its "blocked by

Additionally, the output for this script changed:

CREATE DATABASE Db1;
SHOW CREATE DATABASE Db1;
USE Db1;
SELECT DATABASE();
DROP DATABASE Db1;

CREATE DATABASE Db1;
SHOW CREATE DATABASE Db1;
Database	Create Database
Db1	CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci */
USE Db1;
SELECT DATABASE();
DATABASE()
db1
DROP DATABASE Db1;

It used to produce this output:

CREATE DATABASE Db1;
SHOW CREATE DATABASE Db1;
Database	Create Database
Db1	CREATE DATABASE `Db1` /*!40100 DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci */
SHOW CREATE DATABASE db1;
USE Db1;
SELECT DATABASE();
DATABASE()
Db1
DROP DATABASE Db1;

This script started to crashes:

CREATE DATABASE Db1;
CREATE FUNCTION Db1.f1() RETURNS INT RETURN 10;
CREATE FUNCTION db1.f2() RETURNS INT RETURN 10;
SELECT db, name FROM mysql.proc WHERE name RLIKE '^f[12]';
SELECT Db1.f1();
SELECT db1.f1();
DROP DATABASE Db1;

on DEBUG_ASSERT:

Version: '11.3.0-MariaDB-debug-log'  socket: '/home/bar/tmpdir/mysqld.1.sock'  port: 16000  Source distribution
mariadbd: /home/bar/maria-git/server.11.3.t/sql/item_create.cc:2771: virtual Item* Create_sp_func::create_with_db(THD*, const LEX_CSTRING*, const LEX_CSTRING*, bool, List<Item>*): Assertion `Lex_ident_fs(*db).ok_for_lower_case_names()' failed.

with this stack:

assert.c:0(.annobin_assert.c_end)[0x7fb3ea320a66]
sql/item_create.cc:2773(Create_sp_func::create_with_db(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, bool, List<Item>*))[0xd7c50f]
sql/sql_lex.cc:9588(LEX::make_item_func_call_generic(THD*, Lex_ident_cli_st*, Lex_ident_cli_st*, List<Item>*))[0x915e9f]
sql/sql_yacc.yy:10671(MYSQLparse(THD*))[0xc6839e]


Generated at Thu Feb 08 10:28:15 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.