Here's the patch (the attachment didn't make it through):
==
Index: C:/Program
Files/eclipse/workspace/Torque-3.2-Runtime/src/java/org/apache/torque/ut
il/LimitHelper.java
===================================================================
--- C:/Program
Files/eclipse/workspace/Torque-3.2-Runtime/src/java/org/apache/torque/ut
il/LimitHelper.java (revision 348959)
+++ C:/Program
Files/eclipse/workspace/Torque-3.2-Runtime/src/java/org/apache/torque/ut
il/LimitHelper.java (working copy)
@@ -69,6 +69,9 @@
case DB.LIMIT_STYLE_DB2 :
LimitHelper.generateDB2Limits(query, offset, limit);
break;
+ case DB.LIMIT_STYLE_SYBASE :
+ LimitHelper.generateSybaseLimits(query, offset, limit);
+ break;
default:
if (db.supportsNativeLimit())
{
@@ -113,6 +116,19 @@
}
/**
+ * Modify a query to add limit and offset values for Sybase.
+ *
+ * @param query The query to modify
+ * @param offset the offset Value
+ * @param limit the limit Value
+ */
+ private static final void generateSybaseLimits(Query query,
+ int offset, int limit)
+ {
+ query.setRowcount(String.valueOf(limit+offset));
+ }
+
+ /**
* Generate a LIMIT limit OFFSET offset clause if offset > 0
* or an LIMIT limit clause if limit is > 0 and offset
* is 0.
==
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Monday, May 29, 2006 7:42 AM
To: [email protected]
Subject: RE: setLimit() for Sybase.
Hi Thomas,
Based on this:
http://mail-archives.apache.org/mod_mbox/db-torque-dev/200301.mbox/%3CF3
[EMAIL PROTECTED]
I suggest that LimitHelper.java be modified according to the attached
patch.
Let me know what you think.
MG
-----Original Message-----
From: Thomas Fischer [mailto:[EMAIL PROTECTED]
Sent: Tuesday, May 23, 2006 3:06 PM
To: Apache Torque Developers List
Subject: Re: setLimit() for Sybase.
I'd guess it was simply forgotten. If anyone has a patch, I'd be happy
to
commit it, however, I canot test it because I do not have access to a
Sybase database.
Thomas
On Tue, 23 May 2006, [EMAIL PROTECTED] wrote:
>
>
> Hi all!
>
>
>
> I've noticed that the DB.java class contains the constant to define
> limits (Criteria.setLimit() etc) for the Sybase database
> (LIMIT_STYLE_SYBASE). However the LimitHelper.java class doesn't make
> use of it (excerpt from the buidLimit method):
>
>
>
> ...
>
> if (offset > 0 || limit > 0)
>
> {
>
> // If we hit a database type, that is able to do native
>
> // limiting, we must set the criteria values to -1 and 0
>
> // afterwards. Reason is, that else theexecuteQuery
>
> // method tries to do the limiting using Village
>
> //
>
> switch (db.getLimitStyle())
>
> {
>
> case DB.LIMIT_STYLE_MYSQL :
>
> LimitHelper.generateMySQLLimits(query, offset, limit);
>
> break;
>
> case DB.LIMIT_STYLE_POSTGRES :
>
> LimitHelper.generatePostgreSQLLimits(query, offset,
> limit);
>
> break;
>
> case DB.LIMIT_STYLE_ORACLE :
>
> LimitHelper.generateOracleLimits(query, offset, limit);
>
> break;
>
> case DB.LIMIT_STYLE_DB2 :
>
> LimitHelper.generateDB2Limits(query, offset, limit);
>
> break;
>
> default:
>
> if (db.supportsNativeLimit())
>
> {
>
> query.setLimit(String.valueOf(limit));
>
> }
>
> break;
>
> }
>
> ...
>
>
>
> You notice that there is no case for Sybase (DB.LIMIT_STYLE_SYBASE).
Any
> reason why?
>
>
>
> Any help would be most appreciated.
>
>
>
> Thx!
>
>
>
> MG
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]