Details

    • Enterprise Requirement:
      Enterprise Requirement

      Description

      During upgrading, VerifyMySQL() atlers all table structures including non-Liferay tables.

      Although it is not a technical bug, it is a logical consideration.

      In real life, we make use of MySQL tables as "Memory type" for performance.
      Memory: Stores all data in RAM for extremely fast access in environments that require quick lookups of reference and other like data.
      References: http://dev.mysql.com/doc/refman/5.1/en/storage-engines.html

      com.liferay.portal.verify.VerifyMySQL does not consider to allow different storage types within a database.

      Sources: /portal-impl/src/com/liferay/portal/verify
      line 72-87:
      con = DataAccess.getConnection();

      ps = con.prepareStatement("show table status");

      rs = ps.executeQuery();

      while (rs.next()) {
      String tableName = rs.getString("Name");
      String engine = GetterUtil.getString(rs.getString("Engine"));

      if (!engine.equalsIgnoreCase(
      PropsValues.DATABASE_MYSQL_ENGINE))

      { alterTableEngine(tableName); }

      }

      line 39-40
      "Updating table " + tableName + " to use engine " +
      PropsValues.DATABASE_MYSQL_ENGINE);

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                support-lep@liferay.com SE Support
                Reporter:
                shepherd.ching Shepherd Ching (Inactive)
              • Votes:
                1 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: