Bug #16323 lower_case_table_names breaks case sensitive directories
| Submitted: | 10 Jan 2006 0:05 | Modified: | 17 Sep 2007 8:45 |
|---|---|---|---|
| Reporter: | Cristian Gafton | Email Updates: | |
| Status: | Can't repeat | Impact on me: | |
| Category: | MySQL Server | Severity: | S2 (Serious) |
| Version: | 5.0.19-BK, 5.0.18 | OS: | Linux (Linux) |
| Assigned to: | Tatiana Azundris Nuernberg | CPU Architecture: | Any |
| Tags: | qc | ||
[10 Jan 2006 0:05]
Cristian Gafton
[10 Jan 2006 0:08]
Cristian Gafton
Script that demonstrates the broken pathname lookup when using lower_case_table_names
Attachment: broken-mysql.sh (application/x-sh, text), 1.47 KiB.
[10 Jan 2006 9:07]
Valeriy Kravchuk
Thank you for a bug report. Verified just as described, with your test script on 5.0.19-BK (ChangeSet@1.2020, 2006-01-06 08:34:55-08:00) on Linux: [openxs@Fedora 5.0]$ bash broken-mysql.sh ERROR 1049 (42000) at line 1: Unknown database 'test' This is the result when data dirctory contains uppercase letters. If they are all lowercase, script works OK.
[11 Sep 2006 10:03]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/11683 ChangeSet@1.2272, 2006-09-11 03:02:48-07:00, igreenhoe@anubis.greendragongames.com +5 -0 Fix for bug #16323 (lower_case_table_names breaks case sensitive directories) Problem: Code is lowercasing *everything* in some paths, instead of just the database/table name. Solution: Only lowercase database/table name. Added fn to help with conversion.
[17 Sep 2007 8:45]
Tatiana Azundris Nuernberg
[mysqld] datadir=/tmp/MySQL lower_case_table_names = 1 default-table-type = INNODB Server version: 5.0.48-debug Source distribution mysql> use test; Database changed mysql> show variables like 'data%'; +---------------+-------------+ | Variable_name | Value | +---------------+-------------+ | datadir | /tmp/MySQL/ | +---------------+-------------+ 1 row in set (0.01 sec) mysql> CREATE TEMPORARY TABLE foobar(id integer) engine=innodb; Query OK, 0 rows affected (0.01 sec) mysql> CREATE TABLE CatWoman(id integer) engine=innodb; Query OK, 0 rows affected (0.04 sec) mysql> show create table catwoman; +----------+----------------------------------------------------------------------------------------------+ | Table | Create Table | +----------+----------------------------------------------------------------------------------------------+ | catwoman | CREATE TABLE `catwoman` ( `id` int(11) default NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 | +----------+----------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) /tmp/MySQL/test/foobaz.frm /tmp/MySQL/test/catwoman.frm
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.