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

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

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 3.3-RC1
    • 4.0-beta1
    • Runtime
    • None
    • 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

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment