[hibernate-commits] Hibernate SVN: r14052 - in core/trunk: testsuite/src/test/java/org/hibernate/test/filter and 1 other directory.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Wed Oct 3 00:54:42 EDT 2007
Author: steve.ebersole at jboss.com
Date: 2007-10-03 00:54:42 -0400 (Wed, 03 Oct 2007)
New Revision: 14052
Modified:
core/trunk/core/src/main/java/org/hibernate/sql/Template.java
core/trunk/testsuite/src/test/java/org/hibernate/test/filter/Category.hbm.xml
core/trunk/testsuite/src/test/java/org/hibernate/test/filter/DynamicFilterTest.java
core/trunk/testsuite/src/test/java/org/hibernate/test/filter/defs.hbm.xml
Log:
HHH-2593 : filter conditions using UNION (or MINUS) subqueries
Modified: core/trunk/core/src/main/java/org/hibernate/sql/Template.java
===================================================================
--- core/trunk/core/src/main/java/org/hibernate/sql/Template.java 2007-10-03 03:51:13 UTC (rev 14051)
+++ core/trunk/core/src/main/java/org/hibernate/sql/Template.java 2007-10-03 04:54:42 UTC (rev 14052)
@@ -48,7 +48,9 @@
KEYWORDS.add("some");
KEYWORDS.add("exists");
KEYWORDS.add("all");
-
+ KEYWORDS.add("union");
+ KEYWORDS.add("minus");
+
BEFORE_TABLE_KEYWORDS.add("from");
BEFORE_TABLE_KEYWORDS.add("join");
Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/filter/Category.hbm.xml
===================================================================
--- core/trunk/testsuite/src/test/java/org/hibernate/test/filter/Category.hbm.xml 2007-10-03 03:51:13 UTC (rev 14051)
+++ core/trunk/testsuite/src/test/java/org/hibernate/test/filter/Category.hbm.xml 2007-10-03 04:54:42 UTC (rev 14052)
@@ -6,21 +6,24 @@
<hibernate-mapping package="org.hibernate.test.filter">
<class name="Category" table="CATEGORY">
- <id name="id" column="CAT_ID" >
- <generator class="native"/>
- </id>
+ <id name="id" column="CAT_ID">
+ <generator class="native"/>
+ </id>
- <property name="name" type="string"/>
- <property name="effectiveStartDate" column="eff_start_dt" type="java.util.Date"/>
- <property name="effectiveEndDate" column="eff_end_dt" type="java.util.Date"/>
+ <property name="name" type="string"/>
+ <property name="effectiveStartDate" column="eff_start_dt" type="java.util.Date"/>
+ <property name="effectiveEndDate" column="eff_end_dt" type="java.util.Date"/>
- <set cascade="none" inverse="true" name="products" table="PROD_CAT">
- <key column="CAT_ID"/>
- <many-to-many column="PROD_ID" class="Product"/>
- </set>
+ <set cascade="none" inverse="true" name="products" table="PROD_CAT">
+ <key column="CAT_ID"/>
+ <many-to-many column="PROD_ID" class="Product"/>
+ </set>
- <filter name="effectiveDate" condition=":asOfDate BETWEEN eff_start_dt and eff_end_dt"/>
+ <filter name="effectiveDate" condition=":asOfDate BETWEEN eff_start_dt and eff_end_dt"/>
+ <filter name="unioned">
+ 'abc' in ( select d.reg from department d where (d.dept_id=123) union select p.name from sales_person p )
+ </filter>
- </class>
+ </class>
</hibernate-mapping>
\ No newline at end of file
Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/filter/DynamicFilterTest.java
===================================================================
--- core/trunk/testsuite/src/test/java/org/hibernate/test/filter/DynamicFilterTest.java 2007-10-03 03:51:13 UTC (rev 14051)
+++ core/trunk/testsuite/src/test/java/org/hibernate/test/filter/DynamicFilterTest.java 2007-10-03 04:54:42 UTC (rev 14052)
@@ -65,6 +65,13 @@
return new FunctionalTestClassTestSuite( DynamicFilterTest.class );
}
+ public void testSqlSyntaxOfFiltersWithUnions() {
+ Session session = openSession();
+ session.enableFilter( "unioned" );
+ session.createQuery( "from Category" ).list();
+ session.close();
+ }
+
public void testSecondLevelCachedCollectionsFiltering() {
TestData testData = new TestData();
testData.prepare();
Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/filter/defs.hbm.xml
===================================================================
--- core/trunk/testsuite/src/test/java/org/hibernate/test/filter/defs.hbm.xml 2007-10-03 03:51:13 UTC (rev 14051)
+++ core/trunk/testsuite/src/test/java/org/hibernate/test/filter/defs.hbm.xml 2007-10-03 04:54:42 UTC (rev 14052)
@@ -27,4 +27,8 @@
<filter-def name="cat">
<filter-param name="catId" type="long"/>
</filter-def>
+
+ <filter-def name="unioned">
+ </filter-def>
+
</hibernate-mapping>
\ No newline at end of file
More information about the hibernate-commits
mailing list