Skip to Content
avatar image
Former Member

Semi-Join not ready at join --Error in Sap IQ when executing a Dynamic Query

Hi Experts ,

When Executing a Dynamic Query through dbisql to Sybase IQ 16.0 sp01 we are getting the result, but when the same query is executed through an App we are getting Semi-Join Error.

The App is based on Java Framework and we are using jconnect3 . The Jdbc Property Parameter "Dynamic_Prepare" is explicitly set to False.

Query body is -

Select m.a,sum(f.c),sum(m.b) .... into table_session_001 from ( Select ...... from a inner join b .....

union all

Select .... from c inner join d)

As f )

where m.pk = f.pk group by m.a.

Error Snippet below

SQL state [QSB13]; error code [21]; SQL Anywhere Error -1009113: Secondary error noted. Semi-Join not ready at join DFO #25. -- (dflib/dfo_VerticalLeafCursor.cxx 2026) ; nested exception is com.sybase.jdbc3.jdbc.SybSQLException: SQL Anywhere Error -1009113: Secondary error noted. Semi-Join not ready at join DFO #25. -- (dflib/dfo_VerticalLeafCursor.cxx 2026) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)..........................................

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • avatar image
    Former Member
    May 10, 2017 at 04:28 AM

    Hi,

    Hi, Please test with the following possible workarounds.

    1. set temporary option EARLY_PREDICATE_EXECUTION = OFF ;
    2. set temporary option DML_Options9 =8 ;
    3. set temporary option join_preference='-7';

    Best Regards,
    Gi-Sung Jang

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    May 11, 2017 at 04:27 AM

    Hi Gi-sung Jang ,

    The issue persists after setting these parameters in isolation or as a whole. I suspect there is an issue in the Jconnect.

    Anyway thanks for your Contribution and taking out the time.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    May 29, 2017 at 07:51 AM
    Hi,

    I think the problem is probably caused by the version of the JDBC driver is not compatible with IQ 16.0 SP01. IQ 16.0 SP01 is only certified with jConnect™ for JDBC™ 7.0. Your current java program is working with jconnect 6.x (I guess you meant "jconn3.jar" by "jconnect3", jconn3.jar is the driver of jconnect 6.x). I suggest you upgrade your java program to use jconnect 7.x (jconn4.jar).

    Here is the document about product compatibility of IQ 16.0 SP01:

    http://infocenter.sybase.com/help/topic/com.sybase.infocenter.dc10082.1601/doc/html/jwi1285885486677.html

    Best regards,

    Lifang Li

    Add comment
    10|10000 characters needed characters exceeded