stephenh 2002/10/13 18:44:08
Modified: src/java/org/apache/torque/util SqlEnum.java Criteria.java
src/test/org/apache/torque/util CriteriaTest.java
Log:
Patch by Scott Eade <[EMAIL PROTECTED]>:
The attached file patches Criteria to provide CURRENT_DATE and CURRENT_TIME ANSI SQL
functions for use in Criteria, as in:
criteria.add(TablePeer.DATE_COLUMN,
Criteria.CURRENT_DATE, Criteria.LESS_EQUAL);
A test case is included.
Revision Changes Path
1.5 +5 -1
jakarta-turbine-torque/src/java/org/apache/torque/util/SqlEnum.java
Index: SqlEnum.java
===================================================================
RCS file:
/home/cvs/jakarta-turbine-torque/src/java/org/apache/torque/util/SqlEnum.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- SqlEnum.java 20 Jan 2002 21:37:56 -0000 1.4
+++ SqlEnum.java 14 Oct 2002 01:44:08 -0000 1.5
@@ -116,4 +116,8 @@
new SqlEnum(" IS NULL ");
public static final SqlEnum ISNOTNULL =
new SqlEnum(" IS NOT NULL ");
+ public static final SqlEnum CURRENT_DATE =
+ new SqlEnum("CURRENT_DATE");
+ public static final SqlEnum CURRENT_TIME =
+ new SqlEnum("CURRENT_TIME");
}
1.32 +7 -1
jakarta-turbine-torque/src/java/org/apache/torque/util/Criteria.java
Index: Criteria.java
===================================================================
RCS file:
/home/cvs/jakarta-turbine-torque/src/java/org/apache/torque/util/Criteria.java,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- Criteria.java 12 Jul 2002 21:40:12 -0000 1.31
+++ Criteria.java 14 Oct 2002 01:44:08 -0000 1.32
@@ -150,6 +150,12 @@
/** "IS NOT NULL" null comparison */
public static final SqlEnum ISNOTNULL = SqlEnum.ISNOTNULL;
+ /** "CURRENT_DATE" ANSI SQL function */
+ public static final SqlEnum CURRENT_DATE = SqlEnum.CURRENT_DATE;
+
+ /** "CURRENT_TIME" ANSI SQL function */
+ public static final SqlEnum CURRENT_TIME = SqlEnum.CURRENT_TIME;
+
private static final int DEFAULT_CAPACITY = 10;
private boolean ignoreCase = false;
1.13 +25 -1
jakarta-turbine-torque/src/test/org/apache/torque/util/CriteriaTest.java
Index: CriteriaTest.java
===================================================================
RCS file:
/home/cvs/jakarta-turbine-torque/src/test/org/apache/torque/util/CriteriaTest.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- CriteriaTest.java 5 Oct 2002 16:52:57 -0000 1.12
+++ CriteriaTest.java 14 Oct 2002 01:44:08 -0000 1.13
@@ -311,4 +311,28 @@
assertEquals("TABLE.COLUMN=1", cc.toString());
}
+
+ public void testCurrentDate()
+ {
+ Criteria c = new Criteria()
+ .add("TABLE.DATE_COLUMN", Criteria.CURRENT_DATE)
+ .add("TABLE.TIME_COLUMN", Criteria.CURRENT_TIME);
+
+ String expect = "SELECT FROM TABLE WHERE TABLE.TIME_COLUMN=CURRENT_TIME
AND TABLE.DATE_COLUMN=CURRENT_DATE";
+
+ String result = null;
+ try
+ {
+ result = BasePeer.createQueryString(c);
+ }
+ catch (TorqueException e)
+ {
+ e.printStackTrace();
+ fail("TorqueException thrown in BasePeer.createQueryString()");
+ }
+
+ assertEquals(expect,result);
+
+ }
+
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>