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