Torque
  1. Torque
  2. TORQUE-94

DBOracle doesn't create proper TO_DATE() clause for TIMESTAMP(6) fields

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 3.3-RC1
    • Fix Version/s: 4.0-beta1
    • Component/s: Runtime
    • Labels:
      None
    • Environment:
      Java 1.5, Oracle 9i

      Description

      I observed when calling TablePeer.doDelete(tableObject) for an object that had a type="TIMESTAMP" (stored as TIMESTAMP(6) in Oracle), it would not find the matching row to delete. I tracked this down to the SQL that was being generated omitted the milliseconds.

      A row in a table with a column called 'ENTRY_TIMESTAMP' has the value:

      18-APR-07 03.41.56.705000 AM

      as viewed by SQL*Plus. The generated SQL fragment is

      TO_DATE('18-APR-2007 03:41:56', 'DD-MM-YYYY HH24:MI:SS')

      as evidenced by DBOracle.java. This is insufficient to match the milliseconds which Village apparently use when inserting the record.
      To get around this, I have written my own buildCriteria() for these objects that excludes the timestamp fields, but this is a temporary hack.

        Activity

        No work has yet been logged on this issue.

          People

          • Assignee:
            Thomas Fox
            Reporter:
            Brendan Miller
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development