Uploaded image for project: 'OFBiz'
  1. OFBiz
  2. OFBIZ-3829

MySQL 5.5 obsoleted Table TYPE, now ENGINE; causes Create Table statements to fail -- Old issue

    XMLWordPrintableJSON

Details

    Description

      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).
        *The TYPE table option to specify the storage engine for CREATE TABLE or ALTER TABLE (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 server variable is set to InnoDB, and remove the "table-type=InnoDB" line from the <datasource> sections of the entityengine.xml file.

      Attachments

        Activity

          People

            jaz Andrew Zeneski
            bradlanier Brad Lanier
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: