This is apparently an old issue (see OFBIZ-873
http://markmail.org/message/xggd7nsnorbbhvrv ) that has reared its ugly
head again.

In MySQL 5.5, "TYPE is no longer supported in the table syntax.  Here is
the excerpt from "What's new in MySQL 5.5":

"The following constructs are obsolete and have been removed in MySQL
5.5. Where alternatives are shown, applications should be updated to use
them.

    *

      The |table_type| system variable (use |storage_engine|
      
<http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_storage_engine>).


    *

        ||||
      
<http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_timestampadd>The
      |TYPE| table option to specify the storage engine for |CREATE
      TABLE| <http://dev.mysql.com/doc/refman/5.5/en/create-table.html>
      or |ALTER TABLE|
      <http://dev.mysql.com/doc/refman/5.5/en/alter-table.html> (use
      |ENGINE|)."

The rest of the original issue is still applicable, so I won't repeat it
here.

Recommendation: Add a variable "tableEngine" ("table-engine=" in the
entityengine.xml file <datasource> section) and appropriate code in
DatabaseUtil.java, searching for and using the string "ENGINE" where
"TYPE" is currently used, but keep the tableType constructs so as not to
break other databases.

Temporary workaround: Ensure MySQL 5.5 |storage_engine|
<http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_storage_engine>
server variable is set to InnoDB, and remove the "table-type=InnoDB"
line from the <datasource> sections of the entityengine.xml file.

I am new to this, and hope that I researched the problem appropriately
and posted to the correct area.  Any comments or corrections would be
welcome.

Reply via email to