Bug #1000 JOINS on indexed columns does not work on Linux
Submitted: 5 Aug 2003 4:56 Modified: 5 Aug 2003 5:51
Reporter: Oleg Ivanov Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server Severity:S1 (Critical)
Version:4.1.0-alpha OS:Linux (Linux)
Assigned to: CPU Architecture:Any

[5 Aug 2003 4:56] Oleg Ivanov
Description:
Joins on indexed columns does not work on Linux.
The error is "table doesn't exist"

Windows:
SELECT A.ID FROM TEST A JOIN TEST B ON (A.ID=B.REF_ID);
works correctly.

Linux:
ERROR 1146: Table 'test.MSG' doesn't exist

This is a critical error, because all columns in joins usually indexed and thus joins are disabled on Linux.

How to repeat:
create table test (id int);
create table test1 (id int);
create unique index test_idx on test (id);
create unique index test1_idx on test1 (id);
select test.id from TEST join TEST1 on (test.id=test1.id);

You will receive an error:
ERROR 1146: Table 'test.TEST' doesn't exist

Suggested fix:
please, solve it and rebuld distribution on download area if possible.
[5 Aug 2003 5:09] Alexander Keremidarski
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.mysql.com/documentation/ and the instructions on
how to report a bug at http://bugs.mysql.com/how-to-report.php
[5 Aug 2003 5:51] Sergei Golubchik
and just to clarify - table names are case-sensitive on Linux
[5 Aug 2003 7:10] Oleg Ivanov
very sorry - you are right!
will check a cases more tightly in the future
[5 Aug 2003 7:41] Oleg Ivanov
Additional info:
only JOIN on indexed columns is a "case-sensitive", another statements is not case sensitive.

It is impossible to transfere a database from Windows to Linux, because it is impossible to create a table in upper case using CREATE TABLE `TEST` - it is created in lowercase. If i rename a file on disk, mysqldump always uses lower case for CREATE TABLE clause.
[6 Aug 2003 13:38] Oleg Ivanov
this bug is the same as a bug 828.