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);