You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by fa...@apache.org on 2009/06/27 03:07:54 UTC

svn commit: r788911 - in /openjpa/branches/subquery: openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/PCPath.java openjpa-kernel/src/main/java/org/apache/openjpa/kernel/jpql/JPQLExpressionBuilder.java

Author: fancy
Date: Sat Jun 27 01:07:53 2009
New Revision: 788911

URL: http://svn.apache.org/viewvc?rev=788911&view=rev
Log:
fix for TestJPQLSubquery

Modified:
    openjpa/branches/subquery/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/PCPath.java
    openjpa/branches/subquery/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/jpql/JPQLExpressionBuilder.java

Modified: openjpa/branches/subquery/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/PCPath.java
URL: http://svn.apache.org/viewvc/openjpa/branches/subquery/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/PCPath.java?rev=788911&r1=788910&r2=788911&view=diff
==============================================================================
--- openjpa/branches/subquery/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/PCPath.java (original)
+++ openjpa/branches/subquery/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/PCPath.java Sat Jun 27 01:07:53 2009
@@ -497,8 +497,9 @@
                     isCorrelatedPath = 
                         pstate.joins.isCorrelatedVariable(action.var);
                 }
-                pstate.joins = pstate.joins.
-                    setVariable((String) action.data);
+                if (!isCorrelatedPath)
+                    pstate.joins = pstate.joins.
+                        setVariable((String) action.data);
             }
             else if (action.op == Action.SUBQUERY) {
                 pstate.joins = pstate.joins.setSubselect((String) action.data);

Modified: openjpa/branches/subquery/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/jpql/JPQLExpressionBuilder.java
URL: http://svn.apache.org/viewvc/openjpa/branches/subquery/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/jpql/JPQLExpressionBuilder.java?rev=788911&r1=788910&r2=788911&view=diff
==============================================================================
--- openjpa/branches/subquery/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/jpql/JPQLExpressionBuilder.java (original)
+++ openjpa/branches/subquery/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/jpql/JPQLExpressionBuilder.java Sat Jun 27 01:07:53 2009
@@ -608,6 +608,7 @@
         subContext.setSubquery(subquery);
         Path subpath = factory.newPath(subquery);
         subpath.setMetaData(candidate);
+        subquery.setMetaData(candidate);
         exp = bindVariableForKeyPath(path, alias, exp);
         exp =  and(exp, factory.equal(path, subpath));
         return exp;
@@ -1797,6 +1798,7 @@
             if (ctx().subquery != null) {
                 path = factory.newPath(ctx().subquery);
                 path.setMetaData(ctx().subquery.getMetaData());
+                factory.bindVariable(val, path);
             } else {
                 path = factory.newPath();
                 path.setMetaData(ctx().meta);