OPENJPA-1726: fix test case errors for Postgres

git-svn-id: https://svn.apache.org/repos/asf/openjpa/trunk@964966 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Fay Wang 2010-07-16 22:37:52 +00:00
parent 64181e58ad
commit 6820830299
4 changed files with 35 additions and 4 deletions

View File

@ -35,6 +35,9 @@ import javax.persistence.criteria.Join;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.Root;
import org.apache.openjpa.jdbc.conf.JDBCConfiguration;
import org.apache.openjpa.jdbc.sql.DBDictionary;
import org.apache.openjpa.jdbc.sql.PostgresDictionary;
import org.apache.openjpa.persistence.test.SingleEMFTestCase;
public class TestTypedResults extends SingleEMFTestCase {
@ -121,7 +124,12 @@ public class TestTypedResults extends SingleEMFTestCase {
List<Order> typedCriteriaResults = typedCriteriaQuery.getResultList();
assertEquals(N_ORDERS / 2, typedCriteriaResults.size());
Query nativeQ = em.createNativeQuery("SELECT * FROM CRIT_RES_ORD o WHERE (o.filled = 1)", Order.class);
DBDictionary dict = ((JDBCConfiguration)emf.getConfiguration()).getDBDictionaryInstance();
String sql = "SELECT * FROM CRIT_RES_ORD o WHERE (o.filled = 1)";
if (dict instanceof PostgresDictionary)
sql = "SELECT * FROM CRIT_RES_ORD o WHERE (o.filled = true)";
Query nativeQ = em.createNativeQuery(sql, Order.class);
// Don't suppress warnings.
List<Order> typedNativeResults = nativeQ.getResultList();
assertEquals(N_ORDERS / 2, typedNativeResults.size());

View File

@ -31,6 +31,7 @@ import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@ -38,6 +39,7 @@ import javax.persistence.TemporalType;
* Used in testing; should be enhanced.
*/
@Entity
@Table(name="DATART1")
@DiscriminatorValue("dataRt1")
public class RuntimeTest1
implements Serializable {

View File

@ -204,8 +204,13 @@ public class TestJPQLScalarExpressions extends AbstractTestCase {
rs = em.createQuery(query).getResultList();
result = (Object[]) rs.get(rs.size()-1);
if (result[1] instanceof String)
assertEquals(result[1], "true");
else
assertEquals(result[1], 1);
startTx(em);
String update = "update CompUser c set c.creditRating = " +
" CASE c.age WHEN 35 THEN " +

View File

@ -30,6 +30,7 @@ import junit.framework.Assert;
import org.apache.openjpa.jdbc.conf.JDBCConfiguration;
import org.apache.openjpa.jdbc.sql.DBDictionary;
import org.apache.openjpa.jdbc.sql.HSQLDictionary;
import org.apache.openjpa.jdbc.sql.PostgresDictionary;
import org.apache.openjpa.jdbc.sql.SQLServerDictionary;
import org.apache.openjpa.persistence.test.SingleEMFTestCase;
@ -75,6 +76,21 @@ public class TestJDBCEscapeDate extends SingleEMFTestCase {
// "select a from Employee a where a.hireTimestamp >= {ts '2009-08-25 00:00:00.123456'}",
"select {t '00:00:00'}, a.empId from Employee a",
};
} else if (dict instanceof PostgresDictionary) {
jpql = new String[] {
"select a from Employee a where a.hireDate >= {d '2009-08-25'}",
"select a from Employee a where a.hireDate >= {d '2009-8-5'}",
"select a from Employee a where a.hireTime >= {t '00:00:00'}",
"select a from Employee a where a.hireTimestamp >= {ts '2009-08-25 00:00:00'}",
//"select a from Employee a where a.hireTimestamp >= {ts '2009-08-25 00:00:00.'}",
"select a from Employee a where a.hireTimestamp >= {ts '2009-08-25 00:00:00.1'}",
"select a from Employee a where a.hireTimestamp >= {ts '2009-08-25 00:00:00.12'}",
"select a from Employee a where a.hireTimestamp >= {ts '2009-08-25 00:00:00.123'}",
"select a from Employee a where a.hireTimestamp >= {ts '2009-08-25 00:00:00.1234'}",
"select a from Employee a where a.hireTimestamp >= {ts '2009-08-25 00:00:00.12345'}",
"select a from Employee a where a.hireTimestamp >= {ts '2009-08-25 00:00:00.123456'}",
"select {t '00:00:00'}, a.empId from Employee a",
};
} else {
jpql = new String[] {
"select a from Employee a where a.hireDate >= {d '2009-08-25'}",