You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2008/01/06 19:40:14 UTC
svn commit: r609370 - in
/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc:
EJBQLSelectTranslator.java EJBQLTranslationContext.java
Author: aadamchik
Date: Sun Jan 6 10:40:13 2008
New Revision: 609370
URL: http://svn.apache.org/viewvc?rev=609370&view=rev
Log:
CAY-954 EJBQL Query: Support for single table inheritance
(fix for mixing WHERE calsue and inheritance qualifier )
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLSelectTranslator.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLTranslationContext.java
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLSelectTranslator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLSelectTranslator.java?rev=609370&r1=609369&r2=609370&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLSelectTranslator.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLSelectTranslator.java Sun Jan 6 10:40:13 2008
@@ -38,7 +38,7 @@
static String makeWhereMarker() {
return "WHERE_MARKER";
}
-
+
static String makeEntityQualifierMarker() {
return "ENTITY_QUALIIER";
}
@@ -112,6 +112,10 @@
context.pushMarker(makeWhereMarker(), true);
context.append(" WHERE");
context.popMarker();
+
+ if (context.findOrCreateMarkedBuffer(makeEntityQualifierMarker()).length() > 0) {
+ context.append(" AND");
+ }
expression.visit(context.getTranslatorFactory().getConditionTranslator(context));
return false;
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLTranslationContext.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLTranslationContext.java?rev=609370&r1=609369&r2=609370&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLTranslationContext.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLTranslationContext.java Sun Jan 6 10:40:13 2008
@@ -228,7 +228,7 @@
stackTop = bufferStack.get(lastIndex - 1);
}
- private StringBuilder findOrCreateMarkedBuffer(String marker) {
+ StringBuilder findOrCreateMarkedBuffer(String marker) {
StringBuilder buffer = (StringBuilder) getAttribute(marker);
if (buffer == null) {
buffer = new StringBuilder();