You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by pp...@apache.org on 2009/04/08 11:06:12 UTC
svn commit: r763149 - in /openjpa/trunk:
openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestCriteria.java
openjpa-persistence/src/main/java/org/apache/openjpa/persistence/query/BinaryExpressionPredicate.java
Author: ppoddar
Date: Wed Apr 8 09:06:11 2009
New Revision: 763149
URL: http://svn.apache.org/viewvc?rev=763149&view=rev
Log:
OPENJPA-1024: Scalar expression in SubQuery requires subquery expression be enclosed in parentheses
Modified:
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestCriteria.java
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/query/BinaryExpressionPredicate.java
Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestCriteria.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestCriteria.java?rev=763149&r1=763148&r2=763149&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestCriteria.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestCriteria.java Wed Apr 8 09:06:11 2009
@@ -31,7 +31,6 @@
import org.apache.openjpa.persistence.query.QueryBuilderImpl;
import org.apache.openjpa.persistence.query.QueryDefinition;
import org.apache.openjpa.persistence.query.SelectItem;
-import org.apache.openjpa.persistence.test.AllowFailure;
import org.apache.openjpa.persistence.test.SingleEMFTestCase;
@@ -270,7 +269,6 @@
compare(jpql, o);
}
- @AllowFailure
public void testNonCorrelatedSubQuery() {
QueryDefinition q1 = qb.createQueryDefinition();
DomainObject goodCustomer = q1.addRoot(Customer.class);
@@ -416,7 +414,6 @@
compare(jpql, q1);
}
- @AllowFailure
public void testCreateSubquery() {
DomainObject customer = qb.createQueryDefinition(Customer.class);
DomainObject order = qb.createSubqueryDefinition(customer.get("orders"));
Modified: openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/query/BinaryExpressionPredicate.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/query/BinaryExpressionPredicate.java?rev=763149&r1=763148&r2=763149&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/query/BinaryExpressionPredicate.java (original)
+++ openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/query/BinaryExpressionPredicate.java Wed Apr 8 09:06:11 2009
@@ -67,8 +67,15 @@
}
public String asExpression(AliasContext ctx) {
- return ((Visitable)_e1).asExpression(ctx)
+ return asExpression((Visitable)_e1, ctx)
+ SPACE + _op + SPACE
- + ((Visitable)_e2).asExpression(ctx);
+ + asExpression((Visitable)_e2, ctx);
+ }
+
+ String asExpression(Visitable v, AliasContext ctx) {
+ String result = v.asExpression(ctx);
+ if (v instanceof QueryDefinitionImpl)
+ return "(" + result + ")";
+ return result;
}
}