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]>

Reply via email to