Update of /cvsroot/hibernate/Hibernate3/src/org/hibernate/engine
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13121/src/org/hibernate/engine
Modified Files:
QueryParameters.java RowSelection.java
Log Message:
HHH-1411 & HHH-1412 : in-memory application of DISTINCT and firstRow/maxRows in conjunction with collection fetches
Index: QueryParameters.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate3/src/org/hibernate/engine/QueryParameters.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- QueryParameters.java 12 Dec 2005 08:57:27 -0000 1.20
+++ QueryParameters.java 16 Feb 2006 22:51:00 -0000 1.21
@@ -439,5 +439,26 @@
public void setAutoDiscoverScalarTypes(boolean autodiscovertypes) {
this.autodiscovertypes = autodiscovertypes;
}
-
+
+ public QueryParameters createCopyUsing(RowSelection selection) {
+ QueryParameters copy = new QueryParameters(
+ this.positionalParameterTypes,
+ this.positionalParameterValues,
+ this.namedParameters,
+ this.lockModes,
+ selection,
+ this.readOnly,
+ this.cacheable,
+ this.cacheRegion,
+ this.comment,
+ this.collectionKeys,
+ this.optionalObject,
+ this.optionalEntityName,
+ this.optionalId
+ );
+ copy.processedSQL = this.processedSQL;
+ copy.processedPositionalParameterTypes = this.processedPositionalParameterTypes;
+ copy.processedPositionalParameterValues = this.processedPositionalParameterValues;
+ return copy;
+ }
}
Index: RowSelection.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate3/src/org/hibernate/engine/RowSelection.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- RowSelection.java 3 Jun 2004 16:30:07 -0000 1.1
+++ RowSelection.java 16 Feb 2006 22:51:00 -0000 1.2
@@ -43,9 +43,8 @@
this.fetchSize = fetchSize;
}
+ public boolean definesLimits() {
+ return maxRows != null ||
+ ( firstRow != null && firstRow.intValue() <= 0 );
+ }
}
-
-
-
-
-
|