Bug #54845 main.lowercase_table3 on Mac OSX

Submitted: 28 Jun 2010 6:06 Modified: 3 Nov 2014 15:17
Reporter: Alexander Nozdrin Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Options Severity:S1 (Critical)
Version:M3 (Celosia), M4 (Dahlia) OS:MacOS
Assigned to: CPU Architecture:Any
Tags: disabled, pb2, regression, test failure

[28 Jun 2010 6:06] Alexander Nozdrin
Description:
main.lowercase_table2 started to fail on Mac OSX some time ago.

Symptoms:
------------------------------------------------------------
main.lowercase_table3                    [ fail ]
        Test ended at 2010-06-24 12:55:01

CURRENT_TEST: main.lowercase_table3
mysqltest: At line 22: query 'SELECT * FROM T1' failed: 1146: Table 'test.T1' doesn't exist
------------------------------------------------------------

How to repeat:
Check out PB.
[28 Jun 2010 6:10] Alexander Nozdrin
This bug report is about main.lowercase_table*3*

Sorry for the confusion.
[28 Jun 2010 7:34] Valeriy Kravchuk
Verified just as described:

valeriy-kravchuks-macbook-pro:mysql-test openxs$ ./mtr main.lowercase_table3
Logging: ./mtr  main.lowercase_table3
100628 10:33:18 [Warning] Setting lower_case_table_names=2 because file system for /var/folders/dX/dXCzvuSlHX4Op1g-o1jIWk+++TI/-Tmp-/hL1Ynk46q6/ is case insensitive
100628 10:33:18 [Note] Buffered information: Performance schema disabled (reason: start parameters).

100628 10:33:18 [Note] Plugin 'FEDERATED' is disabled.
100628 10:33:18 [Note] Plugin 'ndbcluster' is disabled.
MySQL Version 5.5.6
Checking supported features...
 - using ndbcluster when necessary, mysqld supports it
 - SSL connections supported
 - binaries are debug compiled
Collecting tests...
vardir: /Users/openxs/dbs/trunk/mysql-test/var
Checking leftover processes...
Removing old var directory...
Creating var directory '/Users/openxs/dbs/trunk/mysql-test/var'...
Installing system database...
Using server port 63025

==============================================================================

TEST                                      RESULT   TIME (ms)
------------------------------------------------------------

worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13009
main.lowercase_table3                    [ fail ]
        Test ended at 2010-06-28 10:33:31

CURRENT_TEST: main.lowercase_table3
mysqltest: At line 22: query 'SELECT * FROM T1' failed: 1146: Table 'test.T1' doesn't exist

The result from queries just before the failure was:
call mtr.add_suppression("Cannot find or open table test/BUG29839 from");
DROP TABLE IF EXISTS t1,T1;
CREATE TABLE t1 (a INT);

 - saving '/Users/openxs/dbs/trunk/mysql-test/var/log/main.lowercase_table3/' to '/Users/openxs/dbs/trunk/mysql-test/var/log/main.lowercase_table3/'
------------------------------------------------------------
The servers were restarted 0 times
Spent 0.000 of 13 seconds executing testcases

Completed: Failed 1/1 tests, 0.00% were successful.

Failing test(s): main.lowercase_table3
[30 Jun 2010 0:40] Omer Barnir
triage: Not sure how long it is failing as was experimental in PB2 - assumed to be a test issue regarding the table name case  3132 - SR55TEST
[30 Jun 2010 9:28] Alexander Nozdrin
The test case has been disabled due to this bug.
[2 Aug 2010 6:44] Anitha Gopi
The intent of the test is to validate case insensitive file systems. i.e t1 and T1 is the same on systems where lower_case_file_system is ON. The test runs only on systems where this flag is set

--source include/have_case_insensitive_file_system.

cat include/have_case_insensitive_file_system.inc
--require r/case_insensitive_file_system.require
--disable_query_log
show variables like "lower_case_file_system";
--enable_query_log

cat  r/case_insensitive_file_system.require
Variable_name	Value
lower_case_file_system	ON

The test creates a table t1 and then tries to access it using name T1. This should work for case insensitive file systems

#
# This is actually an error, but ok as the user has forced this
# by using --lower-case-table-names=0
CREATE TABLE t1 (a INT);
SELECT * FROM T1;
FLUSH TABLES;
DROP TABLE t1;

The above does not seem to work in the mac.
[2 Aug 2010 8:15] Anitha Gopi
The test uses a combination of 
lower_case_table_names	0
lower_case_file_system	ON

lower_case_table_names 0 means table names are case sensitive. But the case sensitivity of the file system takes over as described in Bug 20356. This seems to be broken. Re assigning to product
[2 Aug 2010 8:27] Anitha Gopi
MySQL manual  needs more information on these variables
1. There should be more detailed explanation on the impact of different values for lower_case_table_names on a case insensitive file system
2. Should mention that lower_case_file_system is a read only variable

It would also help to extend tests to cover more use cases. eg: different values for lower_case_table_names. Probably covered by some of the other table* tests.
[3 Nov 2014 15:17] Paul DuBois
Fixed in 5.7.6. Changes for test suite. No changelog entry needed.

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.042 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.