You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Albert Lee (JIRA)" <ji...@apache.org> on 2011/03/30 17:32:05 UTC

[jira] [Commented] (OPENJPA-1968) SQLServerDictionery not using DATETIME2 for jdbc driver other than MS JDBC driver

    [ https://issues.apache.org/jira/browse/OPENJPA-1968?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13013020#comment-13013020 ] 

Albert Lee commented on OPENJPA-1968:
-------------------------------------

Even with the current changes in OpenJPA, one may still get the optimistic lock exception due to a problem in the DataDirect 4.2 jdbc driver.  A case W103290127 was opened against DataDirect to get this fix. Attached is a test case that reproduce the problem for reference. The problem is openjpa attempts to perform an executeUpdate("DELETE/UPDATE") and the method returns 0 instead of 1 due to timestamp mismatch. As a result, openjpa translates this condition to an optimistic lock exception.

> SQLServerDictionery not using DATETIME2 for jdbc driver other than MS JDBC driver
> ---------------------------------------------------------------------------------
>
>                 Key: OPENJPA-1968
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1968
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: sql
>    Affects Versions: 2.1.0, 2.1.1, 2.2.0
>            Reporter: Albert Lee
>            Assignee: Albert Lee
>             Fix For: 2.1.1, 2.2.0
>
>         Attachments: OPENJPA-1968.patch
>
>
> Use of DATETIME2 db type for Date/Time/Timestamp should based on the SQLServer database version not driver type/vendor.
> As a consequence, if version field is a Timestamp data type, you may get optimistic lock exception due to timestamp precision mismatch and hence update to entity may failed.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira