You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by dj...@apache.org on 2001/08/06 07:09:46 UTC

cvs commit: jakarta-turbine-torque/src/java/org/apache/torque/adapter DB.java DBOracle.java

djpolito    01/08/05 22:09:46

  Modified:    src/java/org/apache/torque/util Criteria.java
                        SqlExpression.java
               src/java/org/apache/torque/adapter DB.java DBOracle.java
  Log:
    Criteria.java:                Added static strings for ISNULL and ISNOTNULL;
    SqlExpression.java: Fixed a problem when ignoreCase was used with ISNULL
                                             or ISNOTNULL.
                                             Fixed date formating problem with Oracle.  A new method
                                             was added to DB.java and DBOracle.java that does the
                                             date format.
    DB.java:                        Added getDateString() method to format date fields.
    DBOracle.java            Added getDateString() method with proper date format.
                                             Changed escapeText() to false.
  
  Revision  Changes    Path
  1.2       +11 -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.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Criteria.java	2001/08/02 05:08:28	1.1
  +++ Criteria.java	2001/08/06 05:09:46	1.2
  @@ -90,7 +90,7 @@
    * @author <a href="mailto:bmclaugh@algx.net">Brett McLaughlin</a>
    * @author <a href="mailto:eric@dobbse.net">Eric Dobbs</a>
    * @author <a href="mailto:hps@intermeta.de">Henning P. Schmiedehausen</a>
  - * @version $Id: Criteria.java,v 1.1 2001/08/02 05:08:28 jvanzyl Exp $
  + * @version $Id: Criteria.java,v 1.2 2001/08/06 05:09:46 djpolito Exp $
    */
   public class Criteria extends Hashtable
   {
  @@ -177,6 +177,16 @@
        * "Order by" qualifier - descending
        */
       private static final String DESC = "DESC";
  +
  +    /**
  +     * "IS NULL" null comparison
  +     */
  +    public static final String ISNULL = " IS NULL ";
  +  
  +    /**
  +     * "IS NOT NULL" null comparison
  +     */
  +    public static final String ISNOTNULL = " IS  NOT NULL ";
   
       private static final int DEFAULT_CAPACITY = 10;
   
  
  
  
  1.2       +22 -8     jakarta-turbine-torque/src/java/org/apache/torque/util/SqlExpression.java
  
  Index: SqlExpression.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-torque/src/java/org/apache/torque/util/SqlExpression.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SqlExpression.java	2001/08/02 05:08:29	1.1
  +++ SqlExpression.java	2001/08/06 05:09:46	1.2
  @@ -76,7 +76,7 @@
    *
    * @author <a href="mailto:jmcnally@collab.net">John D. McNally</a>
    * @author <a href="mailto:dlr@finemaltcoding.com">Daniel Rall</a>
  - * @version $Id: SqlExpression.java,v 1.1 2001/08/02 05:08:29 jvanzyl Exp $
  + * @version $Id: SqlExpression.java,v 1.2 2001/08/06 05:09:46 djpolito Exp $
    */
   public class SqlExpression
   {
  @@ -266,26 +266,29 @@
               criteria = "null";
               if (comparison.equals(Criteria.EQUAL))
               {
  -                comparison = " IS ";
  +                comparison = Criteria.ISNULL;
               }
               else if (comparison.equals(Criteria.NOT_EQUAL))
               {
  -                comparison = " IS NOT ";
  +                comparison = Criteria.ISNOTNULL;
               }
               else if (comparison.equals(Criteria.ALT_NOT_EQUAL))
               {
  -                comparison = " IS NOT ";
  +                comparison = Criteria.ISNOTNULL;
               }
           }
           else 
           {
              if (criteria instanceof String ||
  -               criteria instanceof java.util.Date ||
  -               criteria instanceof StringKey ||
  -               criteria instanceof DateKey)
  +               criteria instanceof StringKey)
              {
                  criteria = quoteAndEscapeText(criteria.toString(), db);
              }
  +           else if( criteria instanceof java.util.Date ||
  +                    criteria instanceof DateKey)
  +           {
  +               criteria = db.getDateString(criteria.toString());
  +           }
              else if( criteria instanceof Boolean )
              {
                  criteria = criteria.equals(Boolean.TRUE) ? "1" : "0";
  @@ -305,6 +308,16 @@
           }
           else
           {
  +          // Do not put the upper/lower keyword around IS NULL
  +          //  or IS NOT NULL
  +          if ( comparison.equals(Criteria.ISNULL) ||
  +               comparison.equals(Criteria.ISNOTNULL))
  +          {
  +            whereClause.append(columnName)
  +            .append(comparison);
  +          }
  +          else
  +          {
               String columnValue = criteria.toString();
               if (ignoreCase && db != null)
               {
  @@ -314,6 +327,7 @@
               whereClause.append(columnName)
                   .append(comparison)
                   .append(columnValue);
  +           }
           }
       }
   
  @@ -593,7 +607,7 @@
                   buf.append(SINGLE_QUOTE).append(SINGLE_QUOTE);
                   break;
               case BACKSLASH:
  -                buf.append(BACKSLASH).append(BACKSLASH);
  +                buf.append(escapeString);
                   break;
               default:
                   buf.append(data[i]);
  
  
  
  1.3       +12 -1     jakarta-turbine-torque/src/java/org/apache/torque/adapter/DB.java
  
  Index: DB.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-torque/src/java/org/apache/torque/adapter/DB.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DB.java	2001/08/02 13:24:50	1.2
  +++ DB.java	2001/08/06 05:09:46	1.3
  @@ -99,7 +99,7 @@
    *
    * @author <a href="mailto:jon@latchkey.com">Jon S. Stevens</a>
    * @author <a href="mailto:bmclaugh@algx.net">Brett McLaughlin</a>
  - * @version $Id: DB.java,v 1.2 2001/08/02 13:24:50 jvanzyl Exp $
  + * @version $Id: DB.java,v 1.3 2001/08/06 05:09:46 djpolito Exp $
    */
   public abstract class DB implements Serializable
   {
  @@ -372,5 +372,16 @@
       public int getLimitStyle()
       {
           return LIMIT_STYLE_NONE;
  +    }
  +
  +    /**
  +     * This method is used to format any date string.
  +     * Database can use different default date formats.
  +     *
  +     * @return The proper date formated String.
  +     */
  +    public String getDateString(String dateString)
  +    {
  +       return "\'" + dateString + "\'";
       }
   }
  
  
  
  1.2       +24 -1     jakarta-turbine-torque/src/java/org/apache/torque/adapter/DBOracle.java
  
  Index: DBOracle.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-torque/src/java/org/apache/torque/adapter/DBOracle.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DBOracle.java	2001/08/02 05:08:21	1.1
  +++ DBOracle.java	2001/08/06 05:09:46	1.2
  @@ -68,7 +68,7 @@
    *
    * @author <a href="mailto:jon@clearink.com">Jon S. Stevens</a>
    * @author <a href="mailto:bmclaugh@algx.net">Brett McLaughlin</a>
  - * @version $Id: DBOracle.java,v 1.1 2001/08/02 05:08:21 jvanzyl Exp $
  + * @version $Id: DBOracle.java,v 1.2 2001/08/06 05:09:46 djpolito Exp $
    */
   public class DBOracle
       extends DB
  @@ -205,5 +205,28 @@
           }
       }
   
  +   /**
  +    * This method is for the SqlExpression.quoteAndEscape rules.  The rule is,
  +    * any string in a SqlExpression with a BACKSLASH will either be changed to
  +    * "\\" or left as "\".  SapDB does not need the escape character.
  +    *
  +    * @return false.
  +    */
  +    
  +    public boolean escapeText()
  +    {
  +        return false;
  +    }
  +
   
  +    /**
  +     * This method is used to format any date string.
  +     * Database can use different default date formats.
  +     *
  +     * @return The proper date formated String.
  +     */
  +  public String getDateString(String dateString)
  +  {
  +    return "TO_DATE('" + dateString + "', 'yyyy-mm-dd hh24:mi:ss..' )";
  +  }
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org