You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Fred Toussi (JIRA)" <ji...@apache.org> on 2012/07/11 16:48:35 UTC

[jira] [Comment Edited] (AMQ-3922) HSQLDB support is broken as wrong data type is used in HsqldbJDBCAdapter.java

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

Fred Toussi edited comment on AMQ-3922 at 7/11/12 2:46 PM:
-----------------------------------------------------------

Sorry, cannot test as I don't use ActiveMQ. Reporting due to HSQLDB concerns. It should work if the CREATE TABLE defines the type as BLOB.

Also noted the BytesJDBCAdaptor simply contains redundant redefinitions of setBinaryData and getBinaryData methods in the superclass.
                
      was (Author: fredt):
    Sorry, cannot test as don't use ActiveMQ. Reporting due to HSQLDB concerns. It should work if the CREATE TABLE defines the type as BLOB.

Also noted the BytesJDBCAdaptor simply contains redundant redefinitions of setBinaryData and getBinaryData methods in the superclass.
                  
> HSQLDB support is broken as wrong data type is used in HsqldbJDBCAdapter.java
> -----------------------------------------------------------------------------
>
>                 Key: AMQ-3922
>                 URL: https://issues.apache.org/jira/browse/AMQ-3922
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.6.0
>            Reporter: Fred Toussi
>
> The HsqldbJDBCAdaptor defines the SQL type used for storing a lob as "OTHER". This is wrong in principle, as this type is intended for storing complex serialized objects, not specifically lobs. With this type, the JDBC setObject and getObject methods must be used to store and retrieve the object (which is not the case with ActiveMQ).
> The problem has been encountered and reported in TOMEE-233 and elsewhere.
> With HSQLDB version 2.x, the type "BLOB" should be used for maximum storage capacity and minimum memory use by the database engine. This type is supported in all modes of operation, including in-memory and file databases.
> It seems a simple switch from "OBJECT" to "BLOB" in the code should do the job, as the JDBC setBytes and getBytes methods used by the superclass are compatible with the BLOB type.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira