You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by br...@apache.org on 2006/03/02 21:03:14 UTC

svn commit: r382494 - in /db/ojb/trunk/src: java/org/apache/ojb/broker/accesslayer/sql/SqlQueryStatement.java test/org/apache/ojb/broker/QueryTest.java

Author: brj
Date: Thu Mar  2 12:03:13 2006
New Revision: 382494

URL: http://svn.apache.org/viewcvs?rev=382494&view=rev
Log:
if attribute is a column-name prefix it with the alias

Modified:
    db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/sql/SqlQueryStatement.java
    db/ojb/trunk/src/test/org/apache/ojb/broker/QueryTest.java

Modified: db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/sql/SqlQueryStatement.java
URL: http://svn.apache.org/viewcvs/db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/sql/SqlQueryStatement.java?rev=382494&r1=382493&r2=382494&view=diff
==============================================================================
--- db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/sql/SqlQueryStatement.java (original)
+++ db/ojb/trunk/src/java/org/apache/ojb/broker/accesslayer/sql/SqlQueryStatement.java Thu Mar  2 12:03:13 2006
@@ -268,10 +268,10 @@
         TableAlias tableAlias = anAttrInfo.getTableAlias();
         String colName = anAttrInfo.getAttribute();
 
-        // no translation required, use attribute name
+        // no translation required, use alias.attribute
         if (!translate)
         {
-            appendColumn(colName, buf);
+            appendColumn(tableAlias, colName, buf);   
             return;
         }
 

Modified: db/ojb/trunk/src/test/org/apache/ojb/broker/QueryTest.java
URL: http://svn.apache.org/viewcvs/db/ojb/trunk/src/test/org/apache/ojb/broker/QueryTest.java?rev=382494&r1=382493&r2=382494&view=diff
==============================================================================
--- db/ojb/trunk/src/test/org/apache/ojb/broker/QueryTest.java (original)
+++ db/ojb/trunk/src/test/org/apache/ojb/broker/QueryTest.java Thu Mar  2 12:03:13 2006
@@ -2536,5 +2536,67 @@
         assertNotNull(reptile);
         assertNotNull(mammal);
     }
+    
+    /**
+     * test ColumnEqualTo Criteria
+     */
+    public void testColumnEqualCriteria()
+    {
+        Criteria crit = new Criteria();
+        crit.addColumnEqualTo("FIRSTNAME", "tom");
+        Query q = QueryFactory.newQuery(Person.class, crit);
+
+        Collection results = broker.getCollectionByQuery(q);
+        assertNotNull(results);
+        assertTrue(results.size() > 0);
+    }
+
+    /**
+     * test Column Null Criteria
+     */
+    public void testColumnNullCriteria()
+    {
+        String name = "testColumnNullCriteria_" + System.currentTimeMillis();
+        Person p = new Person();
+        p.setLastname(name);
+        broker.beginTransaction();
+        broker.store(p);
+        broker.commitTransaction();
+
+        Criteria crit = new Criteria();
+        crit.addColumnIsNull("FIRSTNAME");
+        Criteria crit2 = new Criteria();
+        crit2.addLike("lastname", name);
+        crit.addAndCriteria(crit2);
+        
+        Query q = QueryFactory.newQuery(Person.class, crit);
+
+        Collection results = broker.getCollectionByQuery(q);
+        assertNotNull(results);
+        assertEquals(1, results.size());
+    }
+
+    /**
+     * test Column In Criteria
+     */
+    public void testColumnInCriteria()
+    {
+        Criteria crit = new Criteria();
+        Collection ids = new Vector();
+        ids.add(new Integer(1));
+        ids.add(new Integer(3));
+        ids.add(new Integer(5));
+
+        crit.addColumnIn("ID", ids);
+        Query q = QueryFactory.newQuery(Person.class, crit);
+
+        Collection results = broker.getCollectionByQuery(q);
+        assertNotNull(results);
+        assertTrue(results.size() == 3);
+
+        // compare with count
+        int count = broker.getCount(q);
+        assertEquals(results.size(), count);
+    }
 
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org