[hibernate-commits] Hibernate SVN: r16591 - core/branches/Branch_3_2/test/org/hibernate/test/component/basic.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Mon May 18 16:47:10 EDT 2009


Author: gbadner
Date: 2009-05-18 16:47:10 -0400 (Mon, 18 May 2009)
New Revision: 16591

Modified:
   core/branches/Branch_3_2/test/org/hibernate/test/component/basic/ComponentTest.java
Log:
HHH-3510 : Add FailureExpected test for HQL SQLFunction replacement not occuring when HQL text has no parenthesis


Modified: core/branches/Branch_3_2/test/org/hibernate/test/component/basic/ComponentTest.java
===================================================================
--- core/branches/Branch_3_2/test/org/hibernate/test/component/basic/ComponentTest.java	2009-05-18 20:29:28 UTC (rev 16590)
+++ core/branches/Branch_3_2/test/org/hibernate/test/component/basic/ComponentTest.java	2009-05-18 20:47:10 UTC (rev 16591)
@@ -16,6 +16,7 @@
 import org.hibernate.criterion.Property;
 import org.hibernate.dialect.Dialect;
 import org.hibernate.dialect.function.SQLFunction;
+import org.hibernate.dialect.SybaseASE15Dialect;
 import org.hibernate.junit.functional.FunctionalTestCase;
 import org.hibernate.junit.functional.FunctionalTestClassTestSuite;
 import org.hibernate.mapping.Component;
@@ -157,12 +158,38 @@
 
 		s.createQuery( "from Employee e where e.person = :p and 1 = 1 and 2=2" ).setParameter( "p", emp.getPerson() ).list();
 		s.createQuery( "from Employee e where :p = e.person" ).setParameter( "p", emp.getPerson() ).list();
-		s.createQuery( "from Employee e where e.person = ('steve', current_timestamp)" ).list();
+		// The following fails on Sybase due to HHH-3510. When HHH-3510 
+		// is fixed, the check for SybaseASE15Dialect should be removed.
+		if ( ! ( getDialect() instanceof SybaseASE15Dialect ) ) {
+			s.createQuery( "from Employee e where e.person = ('steve', current_timestamp)" ).list();
+		}
 
 		s.delete( emp );
 		t.commit();
 		s.close();
 	}
+
+	// Sybase should translate "current_timestamp" in HQL to "getdate()";
+	// This fails currently due to HHH-3510. The following test should be 
+	// deleted and testComponentQueries() should be updated (as noted
+	// in that test case) when HHH-3510 is fixed.
+	public void testComponentQueryMethodNoParensFailureExpected() {
+		if ( ! ( getDialect() instanceof SybaseASE15Dialect ) ) {
+			fail( "Dialect does not apply to test that is expected to fail; force failure" );
+		}
+		Session s = openSession();
+		Transaction t = s.beginTransaction();
+		Employee emp = new Employee();
+		emp.setHireDate( new Date() );
+		emp.setPerson( new Person() );
+		emp.getPerson().setName( "steve" );
+		emp.getPerson().setDob( new Date() );
+		s.save( emp );
+		s.createQuery( "from Employee e where e.person = ('steve', current_timestamp)" ).list();
+		s.delete( emp );
+		t.commit();
+		s.close();
+	}
 	
 	public void testComponentFormulaQuery() {
 		Session s = openSession();




More information about the hibernate-commits mailing list