You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by dk...@apache.org on 2011/08/16 17:10:40 UTC
svn commit: r1158316 - in /cayenne/main/trunk:
docs/doc/src/main/resources/RELEASE-NOTES.txt
framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerSelectTranslator.java
Author: dkazimirchyk
Date: Tue Aug 16 15:10:40 2011
New Revision: 1158316
URL: http://svn.apache.org/viewvc?rev=1158316&view=rev
Log:
CAY-1596 setFetchOffset & setFetchLimit issue under SQL Server 2008 R2 64Bit
need to read from database (offset + limit) rows and then apply offset to received result
Modified:
cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerSelectTranslator.java
Modified: cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt?rev=1158316&r1=1158315&r2=1158316&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt Tue Aug 16 15:10:40 2011
@@ -34,6 +34,7 @@ Bug Fixes Since 3.1M2:
CAY-1469 Modeler: dbRelationships renaming problem
CAY-1526 Preferences: java.lang.IllegalArgumentException: Key too long
+CAY-1539 Incorrect offset handling on some queries against database with supported LIMIT/OFFSET clauses
CAY-1546 cayenne-lifecycle: UuidBatchFault concurrency issues
CAY-1555 Unpublished dependencies of Maven plugins
CAY-1575 Error generating Embeddable classes in Cayenne Modeler
@@ -41,7 +42,7 @@ CAY-1577 SQL queries for LIKE expression
CAY-1581 Not-Escaping <> during serialization to *.map.xml
CAY-1583 context.getObjectStore() returning null causing NullpointerException in DataMergeHandler
CAY-1585 SelectQuery automatic cache key needs FetchOffset
-CAY-1539 Incorrect offset handling on some queries against database with supported LIMIT/OFFSET clauses
+CAY-1596 setFetchOffset & setFetchLimit issue under SQL Server 2008 R2 64Bit
----------------------------------
Release: 3.1 M2
@@ -143,6 +144,7 @@ CAY-1577 SQL queries for LIKE expression
CAY-1581 Not-Escaping <> during serialization to *.map.xml
CAY-1583 context.getObjectStore() returning null causing NullpointerException in DataMergeHandler
CAY-1585 SelectQuery automatic cache key needs FetchOffset
+CAY-1596 setFetchOffset & setFetchLimit issue under SQL Server 2008 R2 64Bit
----------------------------------
Release: 3.0.2
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerSelectTranslator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerSelectTranslator.java?rev=1158316&r1=1158315&r2=1158316&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerSelectTranslator.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerSelectTranslator.java Tue Aug 16 15:10:40 2011
@@ -28,16 +28,17 @@ public class SQLServerSelectTranslator e
QueryMetadata metadata = getQuery().getMetaData(getEntityResolver());
int limit = metadata.getFetchLimit();
+ int offset = metadata.getFetchOffset();
if (limit > 0) {
String sql = buffer.toString();
// If contains distinct insert top limit after
if (sql.startsWith("SELECT DISTINCT ")) {
- buffer.replace(0, 15, "SELECT DISTINCT TOP " + limit);
+ buffer.replace(0, 15, "SELECT DISTINCT TOP " + (offset + limit));
} else {
- buffer.replace(0, 6, "SELECT TOP " + limit);
+ buffer.replace(0, 6, "SELECT TOP " + (offset + limit));
}
}
}