Bug #12605 JOIN with ON condition gets now error response
Submitted: 16 Aug 2005 16:50 Modified: 17 Aug 2005 0:43
Reporter: Matthias Leich Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server: Optimizer Severity:S2 (Serious)
Version:5.0 OS:
Assigned to: CPU Architecture:Any

[16 Aug 2005 16:50] Matthias Leich
Description:
The QA funcs_1 testsuite (dedicated to MySQL 5.0) contains 
testcases for VIEWs with JOINs.
Till beginning of this week the following JOIN worked correct
SELECT t1.f1, t2.f2, t3.f3
FROM t1,t2 JOIN t3
ON (t1.f1 = t3.f3) ;
Now I get the server response
   ERROR 42S22: Unknown column 't1.f1' in 'on clause'
Some experiments showed that the reason seems to be,
that the ON condition contains t1.f1 which is a column 
of the NON LAST table from the table list after FROM. 
With other words: ON (t2.f2 = t3.f3) is harmless
Please have a look into the attached testcase with several
example statements for comparison. 

This bug does not occur within MySQL 4.1. That means
a customer using such a join and migrating his application 
from 4.1 to 5.0 will suffer from this bug. 
That's why I set S2 - P2.

My environment:
   - Intel PC with Linux(SuSE 9.3)
   - MySQL compiled from source
        Version 5.0 ChangeSet@1.1991, 2005-08-13  (this bug)
       Version 4.1 ChangeSet@1.2377, 2005-08-15   (NO bug)

         

How to repeat:
Please use the attached testcase ml050.test.

  copy it to mysql-test/t
  echo "Dummy" > r/ml050.result   # Produce a dummy file with 
                                                   # expected results
  ./mysql-test-run ml050
   inspect r/ml050.reject
[16 Aug 2005 16:52] Matthias Leich
testcase

Attachment: ml050.test (application/test, text), 1015 bytes.