Answers.Body: <p>Based on Dan's pointer to <a href="https://issues.civicrm.org/jira/browse/CRM-15601" rel="nofollow">https://issues.civicrm.org/jira/browse/CRM-15601</a> , it seems like this used to work. It probably regressed with <a href="https://github.com/civicrm/civicrm-core/commit/3fa9688a5" rel="nofollow">https://github.com/civicrm/civicrm-core/commit/3fa9688a5</a> which introduced a very subtle change to how it ignores temp tables. Compare:</p>
  
  <ul>
  <li>(Old) <code>strpos($dao-&gt;Name, '_temp') !== FALSE</code></li>
  <li>(New) <code>TABLE_NAME NOT LIKE '%temp'</code></li>
  </ul>
  
  <p>Proposed fix: <a href="https://github.com/civicrm/civicrm-core/pull/8930" rel="nofollow">https://github.com/civicrm/civicrm-core/pull/8930</a></p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-24T19:37:21.720Z
Answers.LastActivityDate: 2016-08-24T19:37:21.720Z
Answers.UserDisplayName: Tim Otten
Body: <p><em>CiviCRM 4.7.10 --- WordPress 4.6</em></p>
  
  <p>The following warning message appeared in <strong>CiviCRM System Status</strong>:</p>
  
  <blockquote>
    <p>Your database is configured to use the MyISAM database engine. CiviCRM
    requires InnoDB. You will need to convert any MyISAM tables in your
    database to InnoDB. Using MyISAM tables will result in data integrity
    issues.</p>
  </blockquote>
  
  <p>This message appeared 5 days after upgrading to 4.7.10 from 4.7.8. The table with the MyISAM engine was: <strong>civicrm_task_action_temp%</strong>. I corrected it in MySQL using:</p>
  
  <pre><code>ALTER TABLE civicrm_task_action_temp% ENGINE=InnoDB;
  </code></pre>
  
  <p>On inspecting the code, I found the following in <strong>civicrm\civicrm\CRM\Contact\Form\Task.php on line 145</strong></p>
  
  <blockquote>
    <p>$sql = "CREATE TABLE {$form->_componentTable} ( contact_id int primary
    key) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE
    utf8_unicode_ci";</p>
  </blockquote>
  
  <p>and <strong>civicrm\civicrm\CRM\Export\BAO\Export.php on line 1494</strong></p>
  
  <blockquote>
    <p>CREATE TABLE {$exportTempTable} ( ... ) ENGINE=MyISAM DEFAULT
    CHARACTER SET utf8 COLLATE utf8_unicode_ci;</p>
  </blockquote>
  
  <p>All other MyISAM tables are defined as TEMPORARY. </p>
  
  <p>Prior to performing the upgrade, I cleaned the caches using <strong>CiviCRM/System Settings/Cleanup Caches and Update Paths</strong>. Hence the reason <strong>civicrm_task_action_temp%</strong> was recreated.</p>
  
  <p>Hopefully, this fix can be included in the next update.</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-08-18T05:46:51.350Z
Comments.Text: It also happened to me after 4.7.10 upgrade on Joomla! 3.6.2. Ty.
Comments.UserDisplayName: diegov
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-08-19T11:48:25.797Z
Comments.Text: There's an old issue in JIRA that looks like it's related to this. I've seen this error pop up recently, but I'm trying to remember if I was working on a 4.7 site or a 4.6 one. It might be worth reopening the issue or creating an new one and flagging it related. https://issues.civicrm.org/jira/browse/CRM-15601
Comments.UserDisplayName: Dan O'Brien
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-08-23T16:58:49.867Z
Comments.Text: Happened on upgrade to 4.7.10 with Drupal as well.
Comments.UserDisplayName: Laryn
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-08-24T08:04:07.227Z
Comments.Text: Also on upgrade to 4.7.11 with Joomla.
Comments.UserDisplayName: Jern
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-08-24T08:16:24.283Z
Comments.Text: I mean 4.7.10 of course
Comments.UserDisplayName: Jern
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-09-10T01:46:56.860Z
Comments.Text: This issue is still not fixed in 4.7.11
Comments.UserDisplayName: Codedogs
Tags: <database><mysql><4.7.10>
Title: CiviCRM still creates MyISAM tables which results in Warning
ThreadText: # CiviCRM still creates MyISAM tables which results in Warning
  
  (Asked by: username_0 on 2016-08-17)
  
  CiviCRM 4.7.10 --- WordPress 4.6
  The following warning message appeared in CiviCRM System Status:
  
  Your database is configured to use the MyISAM database engine. CiviCRM
    requires InnoDB. You will need to convert any MyISAM tables in your
    database to InnoDB. Using MyISAM tables will result in data integrity
    issues.
  
  This message appeared 5 days after upgrading to 4.7.10 from 4.7.8. The table with the MyISAM engine was: civicrm_task_action_temp%. I corrected it in MySQL using:
  ALTER TABLE civicrm_task_action_temp% ENGINE=InnoDB;
  
  On inspecting the code, I found the following in civicrm\civicrm\CRM\Contact\Form\Task.php on line 145
  
  $sql = "CREATE TABLE {$form->_componentTable} ( contact_id int primary
    key) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE
    utf8_unicode_ci";
  
  and civicrm\civicrm\CRM\Export\BAO\Export.php on line 1494
  
  CREATE TABLE {$exportTempTable} ( ... ) ENGINE=MyISAM DEFAULT
    CHARACTER SET utf8 COLLATE utf8_unicode_ci;
  
  All other MyISAM tables are defined as TEMPORARY. 
  Prior to performing the upgrade, I cleaned the caches using CiviCRM/System Settings/Cleanup Caches and Update Paths. Hence the reason civicrm_task_action_temp% was recreated.
  Hopefully, this fix can be included in the next update.
  
  **Tags:** database, mysql, 4.7.10
  
  > **Comments:**
  > **username_1**: It also happened to me after 4.7.10 upgrade on Joomla! 3.6.2. Ty.  
  > **username_2**: There's an old issue in JIRA that looks like it's related to this. I've seen this error pop up recently, but I'm trying to remember if I was working on a 4.7 site or a 4.6 one. It might be worth reopening the issue or creating an new one and flagging it related. https://issues.civicrm.org/jira/browse/CRM-15601  
  > **username_3**: Happened on upgrade to 4.7.10 with Drupal as well.  
  > **username_4**: Also on upgrade to 4.7.11 with Joomla.  
  > **username_4**: I mean 4.7.10 of course  
  > **username_0**: This issue is still not fixed in 4.7.11  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_5 on 2016-08-24. Score: 2
  
  Based on Dan's pointer to <https://issues.civicrm.org/jira/browse/CRM-15601> , it seems like this used to work. It probably regressed with <https://github.com/civicrm/civicrm-core/commit/3fa9688a5> which introduced a very subtle change to how it ignores temp tables. Compare:
  
  * (Old) `strpos($dao->Name, '_temp') !== FALSE`
  * (New) `TABLE_NAME NOT LIKE '%temp'`
  
  Proposed fix: <https://github.com/civicrm/civicrm-core/pull/8930>
  
  
  ---
  
  