CRM-15601, CRM-19027 - Fix MyISAM DB check
authorTim Otten <totten@civicrm.org>
Wed, 24 Aug 2016 19:33:38 +0000 (12:33 -0700)
committerTim Otten <totten@civicrm.org>
Wed, 24 Aug 2016 19:33:38 +0000 (12:33 -0700)
commit2475b5509e9638fa2e9863256348c5415f362b72
treef1c42d52675e52608b73ec9974c101cc74c23316
parentaf96eaae7a1a23c6a85fc7fa96512176f24a7dff
CRM-15601, CRM-19027 - Fix MyISAM DB check

3fa9688a5 introduced a subtle break in how it skips temp tables:

 * (Old) `strpos($dao->Name, '_temp') !== FALSE`
 * (New) `TABLE_NAME NOT LIKE '%temp'`

This is relevant when the table name is appended with a randomized suffix.

I don't the performance issue being addressed by CRM-19027.  If there's an
issue with this hurting indexes, then maybe the check should be done in PHP
again? Alternatively, maybe we should patch all the code which makes temp
tables to enforce `ENGINE=InnoDB`?
CRM/Core/DAO.php
tests/phpunit/CRM/Core/DAOTest.php