[
https://issues.apache.org/activemq/browse/AMQ-2857?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gary Tully reassigned AMQ-2857:
-------------------------------
Assignee: Gary Tully
> ActiveMQ fails to create tables in MySQL 5.5.5
> ----------------------------------------------
>
> Key: AMQ-2857
> URL: https://issues.apache.org/activemq/browse/AMQ-2857
> Project: ActiveMQ
> Issue Type: Bug
> Affects Versions: 5.3.2
> Environment: MySQL 5.5.5
> Reporter: Matthew J.
> Assignee: Gary Tully
> Priority: Minor
> Attachments: mysqlpatch.txt
>
>
> Running an embedded ActiveMQ database, using MySQL as the JDBC data source
> worked fine under MySQL 5.4. After upgrading to MySQL 5.5.5, ActiveMQ works
> fine as long as the three required tables in the activemq database already
> exist (activemq_acks, activemq_lock, activemq_msgs). However, if they don't
> exist, it fails to create the tables, whereas the tables would be
> automatically created under MySQL 5.4.
> The problem appears to be in the create table script that's used. In
> previous versions of MySQL, it was legal (though deprecated as of 4.1) to
> specify the engine using the "TYPE=INNODB" syntax. The preferred
> non-deprecated way to do it was to use "ENGINE=INNODB" instead. Under 5.5.5,
> it appears that the "TYPE" syntax is now completely illegal, requiring use of
> the "ENGINE" syntax instead.
> A relevant MySQL bug discussing the issue:
> http://bugs.mysql.com/bug.php?id=17501
> The following is an example of the actual SQL that is generated by ActiveMQ:
> CREATE TABLE ACTIVEMQ_MSGS(ID BIGINT NOT NULL, CONTAINER VARCHAR(250),
> MSGID_PROD VARCHAR(250), MSGID_SEQ BIGINT, EXPIRATION BIGINT, MSG LONGBLOB,
> PRIMARY KEY ( ID ) ) TYPE=INNODB
> I have not yet tested it, but it seems likely that the culprit is
> MySqlJDBCAdapter.java. It includes the line:
> String typeClause = " TYPE="+type;
> which should probably change to
> String typeClause = " ENGINE="+type;
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.