[ 
https://issues.apache.org/jira/browse/AMQ-3922?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Fred Toussi updated AMQ-3922:
-----------------------------

    Description: 
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 object, 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.




  was:
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 object, 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, inclusing 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.




    
> 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 object, 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

        

Reply via email to