You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by pc...@apache.org on 2008/01/31 20:41:49 UTC
svn commit: r617200 - in /openjpa/trunk:
openjpa-kernel/src/main/java/org/apache/openjpa/kernel/jpql/JPQLExpressionBuilder.java
openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/TestDistinctQueries.java
Author: pcl
Date: Thu Jan 31 11:41:46 2008
New Revision: 617200
URL: http://svn.apache.org/viewvc?rev=617200&view=rev
Log:
OPENJPA-135, OPENJPA-420 Merge from ../branches/1.0.x. svn merge -c 617164
Added:
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/TestDistinctQueries.java
- copied unchanged from r617164, openjpa/branches/1.0.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/TestDistinctQueries.java
Modified:
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/jpql/JPQLExpressionBuilder.java
Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/jpql/JPQLExpressionBuilder.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/jpql/JPQLExpressionBuilder.java?rev=617200&r1=617199&r2=617200&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/jpql/JPQLExpressionBuilder.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/jpql/JPQLExpressionBuilder.java Thu Jan 31 11:41:46 2008
@@ -395,6 +395,13 @@
JPQLNode selectNode = root();
+ JPQLNode selectClause = selectNode.
+ findChildByID(JJTSELECTCLAUSE, false);
+ if (selectClause != null && selectClause.hasChildID(JJTDISTINCT))
+ exps.distinct = exps.DISTINCT_TRUE | exps.DISTINCT_AUTO;
+ else
+ exps.distinct = exps.DISTINCT_FALSE;
+
JPQLNode constructor = selectNode.findChildByID(JJTCONSTRUCTOR, true);
if (constructor != null) {
// build up the fully-qualified result class name by
@@ -403,16 +410,8 @@
exps.resultClass = resolver.classForName(resultClassName, null);
// now assign the arguments to the select clause as the projections
- exps.distinct = exps.DISTINCT_FALSE;
return assignProjections(right(constructor), exps);
} else {
- JPQLNode selectClause = selectNode.
- findChildByID(JJTSELECTCLAUSE, false);
- if (selectClause != null && selectClause.hasChildID(JJTDISTINCT))
- exps.distinct = exps.DISTINCT_TRUE | exps.DISTINCT_AUTO;
- else
- exps.distinct = exps.DISTINCT_FALSE;
-
// handle SELECT clauses
JPQLNode expNode = selectNode.
findChildByID(JJTSELECTEXPRESSIONS, true);