Uploaded image for project: 'Torque'
  1. Torque
  2. TORQUE-94

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

    Details

    • Type: Bug
    • Status: Closed
    • Priority: 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.

        Attachments

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: