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 14:18:35 UTC

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

Fred Toussi created AMQ-3922:
--------------------------------

             Summary: HSQLDB support is broken as 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 retrieved 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.




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

        

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

Posted by "Fred Toussi (JIRA)" <ji...@apache.org>.
     [ 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, 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.




  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 retrieved 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, 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.

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

        

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

Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AMQ-3922?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen updated AMQ-3922:
-----------------------------

    Component/s: Message Store
       Priority: Minor  (was: Major)
    
> 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
>          Components: Message Store
>    Affects Versions: 5.6.0
>            Reporter: Fred Toussi
>            Assignee: Claus Ibsen
>            Priority: Minor
>
> 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
For more information on JIRA, see: http://www.atlassian.com/software/jira

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

Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AMQ-3922?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen reassigned AMQ-3922:
--------------------------------

    Assignee: Claus Ibsen
    
> 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
>          Components: Message Store
>    Affects Versions: 5.6.0
>            Reporter: Fred Toussi
>            Assignee: Claus Ibsen
>
> 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
For more information on JIRA, see: http://www.atlassian.com/software/jira

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

Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQ-3922?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13411496#comment-13411496 ] 

Gary Tully commented on AMQ-3922:
---------------------------------

In that case, the default jdbc adapter should work when explicitly set.
Can you try{code}
    <persistenceAdapter>
      <jdbcPersistenceAdapter>
        <adapter>
           <defaultJDBCAdapter />
         </adapter>
      </jdbcPersistenceAdapter>
    </persistenceAdapter>
{code}

                
> 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

        

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

Posted by "Fred Toussi (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AMQ-3922?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

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

    Summary: HSQLDB support is broken as wrong data type is used in HsqldbJDBCAdapter.java  (was: HSQLDB support is broken as data type is used in HsqldbJDBCAdapter.java)
    
> 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 retrieved 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.

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

        

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

Posted by "Fred Toussi (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQ-3922?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13411592#comment-13411592 ] 

Fred Toussi commented on AMQ-3922:
----------------------------------

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

        

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

Posted by "Fred Toussi (JIRA)" <ji...@apache.org>.
    [ 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

        

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

Posted by "Fred Toussi (JIRA)" <ji...@apache.org>.
     [ 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 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.




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




    
> 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

        

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

Posted by "Fred Toussi (JIRA)" <ji...@apache.org>.
     [ 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