You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Pinaki Poddar (JIRA)" <ji...@apache.org> on 2008/10/20 06:20:44 UTC

[jira] Commented: (OPENJPA-745) Sybase by default silently truncates a string which is longer than the column length without raising an exception

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

Pinaki Poddar commented on OPENJPA-745:
---------------------------------------

Following part of the patch in JDBCStoreManager appears to be too specifc

     public Connection getConnection() {
         connect(true);
+        try {
+            _dict.raiseRightTruncationException(_conn);
+        } catch (SQLException se) {
+            throw SQLExceptions.getStore(se, _dict);
+        }
         return _conn;
     }

Suggested
 a) more generic name such as DBDictionary.setConnection(Connection conn) or DBDictionary.initializeSettings(Connection conn) or similar.
 b) more importantly, the more appropriate location for this invocation is internal connect(boolean) method itself where the exception handling is carried out.

> Sybase by default silently truncates a string which is longer than the column length without raising an exception 
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: OPENJPA-745
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-745
>             Project: OpenJPA
>          Issue Type: Bug
>    Affects Versions: 1.2.0
>            Reporter: Fay Wang
>            Priority: Minor
>             Fix For: 1.2.1, 1.3.0
>
>         Attachments: OPENJPA-745.patch
>
>
> By default, Sybase silently truncates a string which is longer than the column length without raising an exception. To override this behavior, string_rtruncation must be set on. In order to be consistent with other databases (which raise exceptions when a string length is longer than the column length), we will set string_rtruncation on by default for Sybase. For an application that wants to keep Sybase silent truncation behavior, a DBDictionary property "setStringRightTruncationOn" is introduced. When it is set to false in the persistence.xml, the string will be silently truncated during insert/update. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.