Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-32026

lowercase_table2.test failures in 11.3

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Critical
    • Resolution: Fixed
    • 11.3
    • 11.3.0
    • Character Sets
    • None

    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]
      

      Attachments

        Issue Links

          Activity

            People

              bar Alexander Barkov
              bar Alexander Barkov
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.