Regression in joins on procedures
---------------------------------

                 Key: CORE-3474
                 URL: http://tracker.firebirdsql.org/browse/CORE-3474
             Project: Firebird Core
          Issue Type: Bug
          Components: Engine
    Affects Versions: 2.5.1
         Environment: any
            Reporter: Frank Schlottmann-Goedde
            Priority: Critical


The following statement that used to work in fb2.5 throws an error in 2.5.1: 
Here are the results for both versions:


First FB 2.5.0:

SQL> show version;
ISQL Version: LI-P2.5.0.26091 Firebird 2.5 MUP
Server version:
Firebird/linux Intel (access method), version "LI-V2.5.0.26074 Firebird 2.5"
on disk structure version 11.2
SQL> select e.emp_no, e.last_name,p.proj_name from  employee e left join
CON> (get_emp_proj(e.emp_no) proc  join project p on p.proj_id = proc.proj_id)
CON> on 1=1  order by e.emp_no;

 EMP_NO LAST_NAME            PROJ_NAME
======= ==================== ====================
      2 Nelson               <null>
      4 Young                Video Database
      4 Young                MapBrowser port
      5 Lambert              <null>
      8 Johnson              Video Database
      8 Johnson              AutoMap
      8 Johnson              Marketing project 3
      9 Forest               <null>
     11 Weston               <null>
     12 Lee                  Marketing project 3
     14 Hall                 Marketing project 3
     15 Young                Video Database
     20 Papadopoulos         AutoMap
     24 Fisher               DigiPizza
     24 Fisher               AutoMap
     28 Bennet               <null>
     29 De Souza             <null>
     34 Baldwin              Marketing project 3
     36 Reeves               <null>
     37 Stansbury            <null>
....

and the failure in 2.5.1

SQL> show version;
ISQL Version: LI-V2.5.1.26266 Firebird 2.5
Server version:
Firebird/linux Intel (access method), version "LI-V2.5.1.26266 Firebird 2.5"
on disk structure version 11.2
SQL> select e.emp_no, e.last_name,p.proj_name from  employee e left join
CON> (get_emp_proj(e.emp_no) proc  join project p on p.proj_id = proc.proj_id)
CON> on 1=1  order by e.emp_no;
Statement failed, SQLSTATE = 42S22
Dynamic SQL Error
-SQL error code = -206
-Column unknown
-E.EMP_NO
-At line 2, column 17
SQL>


the equivalent satement:

select e.emp_no, e.last_name,p.proj_name from (employee e left join 
get_emp_proj(e.emp_no) proc on 1=1)
left join project p on p.proj_id = proc.proj_id order by e.emp_no;

works in both versions.






-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
Achieve unprecedented app performance and reliability
What every C/C++ and Fortran developer should know.
Learn how Intel has extended the reach of its next-generation tools
to help boost performance applications - inlcuding clusters.
http://p.sf.net/sfu/intel-dev2devmay
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to