db-torque-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <Martin.Gou...@sungard.com>
Subject RE: setLimit() for Sybase.
Date Mon, 29 May 2006 14:05:41 GMT
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 &gt; 0
      * or an LIMIT limit clause if limit is &gt; 0 and offset
      * is 0.


==

-----Original Message-----
From: Martin.Goulet@sungard.com [mailto:Martin.Goulet@sungard.com] 
Sent: Monday, May 29, 2006 7:42 AM
To: torque-dev@db.apache.org
Subject: RE: setLimit() for Sybase.

Hi Thomas,

Based on this:

http://mail-archives.apache.org/mod_mbox/db-torque-dev/200301.mbox/%3CF3
2mJPtNuY0NlzrZc7p00016fc0@hotmail.com%3E

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:tfischer@apache.org] 
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, Martin.Goulet@sungard.com 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: torque-dev-unsubscribe@db.apache.org
For additional commands, e-mail: torque-dev-help@db.apache.org






---------------------------------------------------------------------
To unsubscribe, e-mail: torque-dev-unsubscribe@db.apache.org
For additional commands, e-mail: torque-dev-help@db.apache.org


Mime
View raw message