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;
}
}