You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by aw...@apache.org on 2008/04/07 18:18:27 UTC
svn commit: r645589 - in
/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps:
GetMapValue.java JDBCExpressionFactory.java
Author: awhite
Date: Mon Apr 7 09:18:26 2008
New Revision: 645589
URL: http://svn.apache.org/viewvc?rev=645589&view=rev
Log:
Fix for OPENJPA-554.
Modified:
openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/GetMapValue.java
openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/JDBCExpressionFactory.java
Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/GetMapValue.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/GetMapValue.java?rev=645589&r1=645588&r2=645589&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/GetMapValue.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/GetMapValue.java Mon Apr 7 09:18:26 2008
@@ -45,15 +45,17 @@
private final Val _map;
private final Val _key;
+ private final String _alias;
private ClassMetaData _meta = null;
private Class _cast = null;
/**
* Constructor. Provide the map and key to operate on.
*/
- public GetMapValue(Val map, Val key) {
+ public GetMapValue(Val map, Val key, String alias) {
_map = map;
_key = key;
+ _alias = alias;
}
public ClassMetaData getMetaData() {
@@ -111,7 +113,8 @@
public void select(Select sel, ExpContext ctx, ExpState state,
boolean pks) {
- sel.select(newSQLBuffer(sel, ctx, state), this);
+ sel.select(newSQLBuffer(sel, ctx, state).append(" AS ").append(_alias),
+ this);
}
public void selectColumns(Select sel, ExpContext ctx, ExpState state,
@@ -127,7 +130,7 @@
public void orderBy(Select sel, ExpContext ctx, ExpState state,
boolean asc) {
- sel.orderBy(newSQLBuffer(sel, ctx, state), asc, false);
+ sel.orderBy(_alias, asc, false);
}
private SQLBuffer newSQLBuffer(Select sel, ExpContext ctx, ExpState state) {
Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/JDBCExpressionFactory.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/JDBCExpressionFactory.java?rev=645589&r1=645588&r2=645589&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/JDBCExpressionFactory.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/JDBCExpressionFactory.java Mon Apr 7 09:18:26 2008
@@ -58,6 +58,7 @@
private final ClassMapping _type;
private final SelectConstructor _cons = new SelectConstructor();
+ private int _getMapValueAlias = 0;
/**
* Constructor. Supply the type we're querying against.
@@ -396,6 +397,7 @@
}
public Value getMapValue(Value map, Value arg) {
- return new GetMapValue((Val) map, (Val) arg);
+ return new GetMapValue((Val) map, (Val) arg,
+ "gmv" + _getMapValueAlias++);
}
}