There is already an open bug report on sourceforge
about being able to limit the number of AND/OR specifically
for Sybase (I've heard of the same problem with old versions of Oracle)
this would be a type mapping configuration.

Regards,
Adrian

On Thu, 2003-09-25 at 12:20, Jonathan.O'[EMAIL PROTECTED] wrote:
> Adrian,
> Thanks, that's brilliant. I have patched the standardjbosscmp-jdbc.xml and 
> made two changes to the sybase configuration:
> I have added the following line to ensure only upto 250:
> <read-ahead><page-size>250</page-size></read-ahead>
> Sadly this only works if I change the <defaults> and not the sybase 
> type-mapping. I believe this is an error in the DTD. If you fix this, 
> please add 250 page-size to the sybase type-mapping.
> 
> I have also changed the type-mapping for Sybase to use LONGVARBINARY for 
> IMAGE data instead of JAVA_OBJECT(? I think):
>         <type-mapping>
>                         <name>Sybase</name>
>                         <!-- and so on -->
>          <mapping>
>             <java-type>java.lang.Object</java-type>
>             <jdbc-type>LONGVARBINARY</jdbc-type>
>             <sql-type>IMAGE</sql-type>
>          </mapping>
>     </type-mapping>
> Thanks,
> Jonathan O'Connor
> XCOM Dublin
> 
> 
> 
> 
> Adrian Brock <[EMAIL PROTECTED]>
> Sent by: [EMAIL PROTECTED]
> 24.09.2003 14:02
> Please respond to jboss-user
> 
>  
>         To:     [EMAIL PROTECTED]
>         cc: 
>         Subject:        Re: [JBoss-user] Bad SQL generated for Sybase 12.0
> 
> 
> You can limit the ORs generated using the <page-size> on the
> <read-ahead>.
> 
> Regards,
> Adrian
> 
> On Wed, 2003-09-24 at 11:01, Jonathan.O'[EMAIL PROTECTED] wrote:
> > Running JBoss 3.0.6, running a finder on a entity bean, JBoss generates 
> a 
> > load query like:
> > select field1, field2, field3 from MY_TABLE where ID = 1 or ID = 2 or ID 
> = 
> > 3 ...
> > Normally this code is fine, however, the finder happens to find more 
> than 
> > 250 rows, and Sybase ASE12.0 does not like where clauses with more than 
> > 250 ANDs or ORs. I tried changing the select statement to "Select 
> field1, 
> > field2, field3 from MY_TABLE where ID in (1, 2, 3...)" but this produced 
> 
> > the same error message. It seems Sybase translates the IN clause to a 
> > series of ORs.
> > 
> > Is the only work around to upgrade to 3.2.2 and use LIMIT and OFFSET to 
> > get around the problem? Yes, I know this is probably a better solution 
> in 
> > the long run, but...
> > 
> > Any advice would be appreciated.
> > Ciao,
> > Jonathan O'Connor
> > XCOM Dublin
> > 
> > 
> > -------------------------------------------------------
> > This sf.net email is sponsored by:ThinkGeek
> > Welcome to geek heaven.
> > http://thinkgeek.com/sf
> > _______________________________________________
> > JBoss-user mailing list
> > [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/jboss-user
-- 
xxxxxxxxxxxxxxxxxxxxxxxx 
Adrian Brock
Director of Support
Back Office
JBoss Group, LLC 
xxxxxxxxxxxxxxxxxxxxxxxx 



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to