home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Latest versionsfixlist
14.10.xC11 FixList
12.10.xC16.X5 FixList
11.70.xC9.XB FixList
11.50.xC9.X2 FixList
11.10.xC3.W5 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

Informix - Problem description

Problem IT09065 Status: Closed

SELECT QUERY AGAINST A REMOTE VIEW WHERE ANSI JOIN IS USED CAN RETURN A
SYNTAX ERROR

product:
INFORMIX SERVER / 5725A3900 / C10 - IDS 12.10
Problem description:
A syntax error can occur when a select query is ran against a 
synonym in server_b that points to a view on server_a, or when a 
query is ran on server_b against a view on server_a, in both 
cases these database server instances are in the same host. 
 
Syntax error only occurs if the view is useing ANSI join, for 
example: 
 
create view tstvw 
    ( 
    fld1, 
    fld4, 
    fld2 
    ) 
as  select  a.fld1, 
            b.fld4, 
            b.fld2 
      from  tab1 a 
            left outer join tab2 b  on  a.fld1 = b.fld1 
            left outer join tab3 c  on  a.fld3 = c.fld3;
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* Users of 12.10.xC1 through 12.10.xC5.                        * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* A query involving a remote view may return syntax error      * 
* under the following conditions:                              * 
*   - the remote view is defined in ANSI OUTER JOIN syntax,    * 
* e.g. "create view v1(a,b) as select tab1.col1, tab2.col2     * 
* from tab1 left outer join tab2 on ...."                      * 
*   - the main query has a predicate in the where clause on a  * 
* view column that corresponds to a subservient table in the   * 
* view definition, and this predicate excludes NULL values,    * 
* e.g. select ... from remotedb@remoteserver:v1 where v1.b =   * 
* <constant>                                                   * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Update to IBM Informix Server 12.10.xC6                      * 
****************************************************************
Local Fix:
A possible workaround is to replace the ANSI syntax with 
Informix syntax: 
 
create view tstvw 
    ( 
    fld1, 
    fld4, 
    fld2 
    ) 
as  select  a.fld1, 
            b.fld4, 
            b.fld2 
      from  tab1 a, outer tab2 b, outer tab3 c 
     where  a.fld1 = b.fld1 
       and  a.fld3 = c.fld3;
Solution
Problem Fixed In IBM Informix Server 12.10.xC6
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
22.05.2015
30.12.2015
30.12.2015
Problem solved at the following versions (IBM BugInfos)
12.10.xC6
Problem solved according to the fixlist(s) of the following version(s)
12.10.xC6 FixList