Skip to Content
0

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

May 08, 2017 at 10:35 AM

148

avatar image
Former Member

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)..........................................

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

3 Answers

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

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

Share
10 |10000 characters needed characters left characters exceeded
avatar image
Former Member May 11, 2017 at 04:27 AM
0

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.

Share
10 |10000 characters needed characters left characters exceeded
avatar image
Former Member
May 29, 2017 at 07:51 AM
0
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

Share
10 |10000 characters needed characters left characters exceeded