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 2007/07/01 15:31:29 UTC

svn commit: r552312 - in /cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne: access/ access/jdbc/ unit/

Author: aadamchik
Date: Sun Jul  1 06:31:27 2007
New Revision: 552312

URL: http://svn.apache.org/viewvc?view=rev&rev=552312
Log:
openbase testing
creating skip-test conditions for the limiations of OpenBase

Modified:
    cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryTest.java
    cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/access/jdbc/EJBQLSelectTranslatorTest.java
    cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/unit/AccessStackAdapter.java
    cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/unit/OpenBaseStackAdapter.java

Modified: cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryTest.java?view=diff&rev=552312&r1=552311&r2=552312
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryTest.java Sun Jul  1 06:31:27 2007
@@ -59,6 +59,10 @@
     }
 
     public void testSelectAggregateNull() throws Exception {
+        
+        if(!getAccessStackAdapter().supportNullRowForAggregateFunctions()) {
+            return;
+        }
 
         String ejbql = "select count(p), max(p.estimatedPrice), sum(p.estimatedPrice) "
                 + "from Painting p WHERE p.paintingTitle = 'X'";
@@ -134,6 +138,10 @@
     }
 
     public void testSelectFromWhereEqualReverseOrder() throws Exception {
+        if (!getAccessStackAdapter().supportsReverseComparison()) {
+            return;
+        }
+
         createTestData("prepare");
 
         String ejbql = "select a from Artist a where 'AA2' = a.artistName";
@@ -374,6 +382,10 @@
     }
 
     public void testSelectFromWhereMatchOnMultiColumnObjectReverse() throws Exception {
+        if (!getAccessStackAdapter().supportsReverseComparison()) {
+            return;
+        }
+
         createTestData("prepareCompound");
 
         ObjectContext context = createDataContext();

Modified: cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/access/jdbc/EJBQLSelectTranslatorTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/access/jdbc/EJBQLSelectTranslatorTest.java?view=diff&rev=552312&r1=552311&r2=552312
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/access/jdbc/EJBQLSelectTranslatorTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/access/jdbc/EJBQLSelectTranslatorTest.java Sun Jul  1 06:31:27 2007
@@ -53,7 +53,7 @@
         assertTrue(sql, sql.indexOf("t0.ARTIST_ID") > 0);
         assertTrue(sql, sql.indexOf("t0.ARTIST_NAME") > 0);
         assertTrue(sql, sql.indexOf("t0.DATE_OF_BIRTH") > 0);
-        assertTrue(sql, sql.endsWith(" FROM ARTIST AS t0${marker0}"));
+        assertTrue(sql, sql.endsWith(" FROM ARTIST t0${marker0}"));
 
         StringBuffer fromMarker = (StringBuffer) query.getParameters().get("marker0");
         assertNotNull(fromMarker);
@@ -72,12 +72,10 @@
         assertNotNull(fromMarker);
         assertEquals("", fromMarker.toString());
 
-        assertTrue(
-                sql,
-                sql.indexOf("INNER JOIN PAINTING AS t1 ON (t0.ARTIST_ID = t1.ARTIST_ID)") > 0);
-        assertTrue(
-                sql,
-                sql.indexOf("INNER JOIN PAINTING AS t2 ON (t0.ARTIST_ID = t2.ARTIST_ID)") > 0);
+        assertTrue(sql, sql
+                .indexOf("INNER JOIN PAINTING t1 ON (t0.ARTIST_ID = t1.ARTIST_ID)") > 0);
+        assertTrue(sql, sql
+                .indexOf("INNER JOIN PAINTING t2 ON (t0.ARTIST_ID = t2.ARTIST_ID)") > 0);
     }
 
     public void testSelectImplicitColumnJoins() throws Exception {
@@ -117,9 +115,8 @@
         String from = fromMarker.toString();
         assertEquals("", from);
 
-        assertTrue(sql, sql
-                .endsWith(" FROM ARTIST AS t0${marker0} WHERE t0.ARTIST_NAME ="
-                        + " #bind('Dali' 'VARCHAR')"));
+        assertTrue(sql, sql.endsWith(" FROM ARTIST t0${marker0} WHERE t0.ARTIST_NAME ="
+                + " #bind('Dali' 'VARCHAR')"));
     }
 
     public void testSelectFromWhereOrEqual() {
@@ -133,11 +130,11 @@
         String sql1 = query1.getDefaultTemplate();
 
         assertTrue(sql, sql.startsWith("SELECT "));
-        assertTrue(sql, sql.indexOf(" FROM ARTIST AS t0${marker0} WHERE ") > 0);
+        assertTrue(sql, sql.indexOf(" FROM ARTIST t0${marker0} WHERE ") > 0);
         assertEquals(1, countDelimiters(sql, " OR ", sql.indexOf("WHERE ")));
 
         assertTrue(sql1, sql1.startsWith("SELECT "));
-        assertTrue(sql1, sql.indexOf(" FROM ARTIST AS t0${marker0} WHERE ") > 0);
+        assertTrue(sql1, sql.indexOf(" FROM ARTIST t0${marker0} WHERE ") > 0);
         assertEquals(2, countDelimiters(sql1, " OR ", sql.indexOf("WHERE ")));
     }
 
@@ -268,7 +265,7 @@
 
         assertTrue(sql, sql.startsWith("SELECT "
                 + "#result('MAX(t0.ESTIMATED_PRICE)' 'java.math.BigDecimal' 'sc0') "
-                + "FROM PAINTING AS t0"));
+                + "FROM PAINTING t0"));
     }
 
     public void testDistinctSum() {
@@ -280,7 +277,7 @@
                 sql
                         .startsWith("SELECT "
                                 + "#result('SUM(DISTINCT t0.ESTIMATED_PRICE)' 'java.math.BigDecimal' 'sc0') "
-                                + "FROM PAINTING AS t0"));
+                                + "FROM PAINTING t0"));
     }
 
     public void testColumnPaths() {

Modified: cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/unit/AccessStackAdapter.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/unit/AccessStackAdapter.java?view=diff&rev=552312&r1=552311&r2=552312
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/unit/AccessStackAdapter.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/unit/AccessStackAdapter.java Sun Jul  1 06:31:27 2007
@@ -45,7 +45,7 @@
 /**
  * Defines API and a common superclass for testing various database features. Different
  * databases support different feature sets that need to be tested differently. Many
- * things implemented in subclasses may become future candidates for inclusin in the
+ * things implemented in subclasses may become future candidates for inclusion in the
  * corresponding adapter code.
  * 
  * @author Andrus Adamchik
@@ -126,6 +126,22 @@
 
     public boolean supportsStoredProcedures() {
         return false;
+    }
+
+    /**
+     * Returns whether the target database supports expressions in the WHERE clause in the
+     * form "VALUE = COLUMN".
+     */
+    public boolean supportsReverseComparison() {
+        return true;
+    }
+
+    /**
+     * Returns whether an aggregate query like "SELECT min(X) FROM" returns a NULL row
+     * when no data matched the WHERE clause. Most DB's do.
+     */
+    public boolean supportNullRowForAggregateFunctions() {
+        return true;
     }
 
     /**

Modified: cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/unit/OpenBaseStackAdapter.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/unit/OpenBaseStackAdapter.java?view=diff&rev=552312&r1=552311&r2=552312
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/unit/OpenBaseStackAdapter.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/unit/OpenBaseStackAdapter.java Sun Jul  1 06:31:27 2007
@@ -33,12 +33,23 @@
     public OpenBaseStackAdapter(DbAdapter adapter) {
         super(adapter);
     }
-    
-    public void willDropTables(Connection conn, DataMap map, Collection tablesToDrop) throws Exception {
-        // avoid dropping constraints...  
+
+    public void willDropTables(Connection conn, DataMap map, Collection tablesToDrop)
+            throws Exception {
+        // avoid dropping constraints...
     }
 
     public boolean supportsHaving() {
+        return false;
+    }
+
+    public boolean supportsReverseComparison() {
+        // TODO: andrus, 7/1/2007 I am trying to follow up with openbase on this...
+        return false;
+    }
+
+    public boolean supportNullRowForAggregateFunctions() {
+        // TODO: andrus, 7/1/2007 I am trying to follow up with openbase on this...
         return false;
     }
 }