openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pinaki Poddar (JIRA)" <j...@apache.org>
Subject [jira] Commented: (OPENJPA-745) Sybase by default silently truncates a string which is longer than the column length without raising an exception
Date Mon, 20 Oct 2008 04:20:44 GMT

    [ 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.


Mime
View raw message