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 2008/08/19 20:42:27 UTC
svn commit: r687122 - in /openjpa/trunk:
openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/
openjpa-jdbc/src/main/resources/org/apache/openjpa/jdbc/kernel/exps/
openjpa-kernel/src/main/java/org/apache/openjpa/kernel/
openjpa-kernel/src/mai...
Author: ppoddar
Date: Tue Aug 19 11:42:26 2008
New Revision: 687122
URL: http://svn.apache.org/viewvc?rev=687122&view=rev
Log:
Generate informative error message when query fails due to wrong unbound variables
Modified:
openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/PCPath.java
openjpa/trunk/openjpa-jdbc/src/main/resources/org/apache/openjpa/jdbc/kernel/exps/localizer.properties
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryImpl.java
openjpa/trunk/openjpa-kernel/src/main/resources/org/apache/openjpa/kernel/localizer.properties
Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/PCPath.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/PCPath.java?rev=687122&r1=687121&r2=687122&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/PCPath.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/exps/PCPath.java Tue Aug 19 11:42:26 2008
@@ -442,6 +442,9 @@
// unbound vars are cross-joined to the candidate table
var = (Variable) action.data;
rel = (ClassMapping) var.getMetaData();
+ if (rel == null)
+ throw new IllegalArgumentException(_loc.get(
+ "invalid-unbound-var", var.getName()).toString());
pstate.joins = pstate.joins.setVariable(var.getName());
pstate.joins = pstate.joins.crossJoin(_candidate.getTable(),
rel.getTable());
Modified: openjpa/trunk/openjpa-jdbc/src/main/resources/org/apache/openjpa/jdbc/kernel/exps/localizer.properties
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/resources/org/apache/openjpa/jdbc/kernel/exps/localizer.properties?rev=687122&r1=687121&r2=687122&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/resources/org/apache/openjpa/jdbc/kernel/exps/localizer.properties (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/resources/org/apache/openjpa/jdbc/kernel/exps/localizer.properties Tue Aug 19 11:42:26 2008
@@ -23,6 +23,7 @@
const-only: The filter listener "{0}" requires a constant argument.
path-only: The target for filter listener "{0}" must be "this" or some \
field traversal to a related objects, such as "company.address".
-no-col: The column "{0}" given to filter "{1}" doesn''t exist in the table \
+no-col: The column "{0}" given to filter "{1}" does not exist in the table \
of the specified target.
cant-convert: Attempt to compare incompatible types "{0}" and "{1}".
+invalid-unbound-var: Invalid unbound variable "{0}" in query.
\ No newline at end of file
Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryImpl.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryImpl.java?rev=687122&r1=687121&r2=687122&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryImpl.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryImpl.java Tue Aug 19 11:42:26 2008
@@ -854,7 +854,8 @@
} catch (OpenJPAException ke) {
throw ke;
} catch (Exception e) {
- throw new UserException(e);
+ throw new UserException(_loc.get("query-execution-error",
+ _query), e);
} finally {
_broker.endOperation();
}
Modified: openjpa/trunk/openjpa-kernel/src/main/resources/org/apache/openjpa/kernel/localizer.properties
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/resources/org/apache/openjpa/kernel/localizer.properties?rev=687122&r1=687121&r2=687122&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/resources/org/apache/openjpa/kernel/localizer.properties (original)
+++ openjpa/trunk/openjpa-kernel/src/main/resources/org/apache/openjpa/kernel/localizer.properties Tue Aug 19 11:42:26 2008
@@ -403,3 +403,5 @@
gap-query-param: Parameter {1} for query "{0}" exceeds the number of {2} \
bound parameters with following values "{3}". This can happen if you have \
declared but missed to bind values for one or more parameters.
+query-execution-error: Failed to execute query "{0}". Check the query syntax \
+ for correctness. See nested exception for details.
\ No newline at end of file