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 2010/01/31 21:12:40 UTC

svn commit: r905112 - /cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/query/SelectQueryTest.java

Author: aadamchik
Date: Sun Jan 31 20:12:39 2010
New Revision: 905112

URL: http://svn.apache.org/viewvc?rev=905112&view=rev
Log:
CAY-1380 Support for Escaped LIKE Clauses in Expressions

* fixing unit test. Not all DB's allow arbitrary escapes

Modified:
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/query/SelectQueryTest.java

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/query/SelectQueryTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/query/SelectQueryTest.java?rev=905112&r1=905111&r2=905112&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/query/SelectQueryTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/query/SelectQueryTest.java Sun Jan 31 20:12:39 2010
@@ -37,6 +37,7 @@
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.map.ObjRelationship;
+import org.apache.cayenne.test.TableHelper;
 
 public class SelectQueryTest extends SelectQueryBase {
 
@@ -210,16 +211,19 @@
         assertNotNull(objects);
         assertEquals(1, objects.size());
     }
-    
+
     public void testSelectLikeSingleWildcardMatchAndEscape() throws Exception {
-        query.setRoot(Artist.class);
-        Expression qual = ExpressionFactory.likeExp("artistName", "=artist11%", '=');
-        query.setQualifier(qual);
-        performQuery();
 
-        // check query results
-        List objects = opObserver.rowsForQuery(query);
-        assertNotNull(objects);
+        TableHelper artistHelper = new TableHelper(getDbHelper(), "ARTIST");
+        artistHelper.deleteAll();
+        artistHelper.setColumns("ARTIST_ID", "ARTIST_NAME");
+        artistHelper.insert(1, "_X");
+        artistHelper.insert(2, "Y_");
+
+        SelectQuery query = new SelectQuery(Artist.class);
+        query.andQualifier(ExpressionFactory.likeExp("artistName", "=_%", '='));
+ 
+        List objects = createDataContext().performQuery(query);
         assertEquals(1, objects.size());
     }
 
@@ -550,17 +554,19 @@
             }
         }
     }
-    
+
     public void testLeftJoinAndPrefetchToMany() {
-        SelectQuery query = new SelectQuery(Artist.class, 
-            ExpressionFactory.matchExp("paintingArray+.toGallery", null));
+        SelectQuery query = new SelectQuery(Artist.class, ExpressionFactory.matchExp(
+                "paintingArray+.toGallery",
+                null));
         query.addPrefetch("artistExhibitArray");
         createDataContext().performQuery(query);
     }
-    
+
     public void testLeftJoinAndPrefetchToOne() {
-        SelectQuery query = new SelectQuery(Painting.class, 
-            ExpressionFactory.matchExp("toArtist+.artistName", null));
+        SelectQuery query = new SelectQuery(Painting.class, ExpressionFactory.matchExp(
+                "toArtist+.artistName",
+                null));
         query.addPrefetch("toGallery");
         createDataContext().performQuery(query);
     }