Class CurrentDatetime

java.lang.Object
org.apache.derby.impl.sql.execute.CurrentDatetime

public class CurrentDatetime extends Object
CurrentDatetime provides execution support for ensuring that the current datetime is evaluated only once for a statement. The same value is returned for every CURRENT_DATE, CURRENT_TIME, and CURRENT_TIMESTAMP in the statement.

This is expected to be used by an activation and its result set, and so 'forget' must be called whenever you want to reuse the CurrentDatetime object for additional executions of the statement.

  • Field Details

    • currentDatetime

      private Date currentDatetime
      Holds the current datetime on the first evaluation of a current function in a statement, which contains all available fields.
    • currentDate

      private Date currentDate
      Holds the SQL DATE version of the current datetime.
    • currentTime

      private Time currentTime
      Holds the SQL TIME version of the current datetime.
    • currentTimestamp

      private Timestamp currentTimestamp
      Holds the SQL TIMESTAMP version of the current datetime.
  • Constructor Details

    • CurrentDatetime

      public CurrentDatetime()
      The constructor is public; note we wait until evaluation to put any values into the fields.
  • Method Details

    • setCurrentDatetime

      private final void setCurrentDatetime()
    • getCurrentDate

      public Date getCurrentDate()
    • getCurrentTime

      public Time getCurrentTime()
    • getCurrentTimestamp

      public Timestamp getCurrentTimestamp()
    • forget

      public void forget()
      This is called prior to each execution of the statement, to ensure that it starts over with a new current datetime value.