CRM-16251 - CRM_Contact_BAO_GroupContactCache - Respect transactions
authorTim Otten <totten@civicrm.org>
Fri, 8 May 2015 23:10:05 +0000 (16:10 -0700)
committerTim Otten <totten@civicrm.org>
Fri, 8 May 2015 23:10:05 +0000 (16:10 -0700)
The use of "DROP TABLE" will force-commit any pending transactions, even if
the table is temporary.  To avoid a force-commit, one must explicitly say
"DROP TEMPORARY TABLE".

CRM/Contact/BAO/GroupContactCache.php

index 6f49d401697f8eae55b8676d509d65985024b73d..7267bd80e243feb5f485ca65e00173461fe0f06b 100644 (file)
@@ -543,7 +543,7 @@ WHERE  civicrm_group_contact.status = 'Added'
         "INSERT IGNORE INTO civicrm_group_contact_cache (contact_id, group_id)
         SELECT DISTINCT $idName, group_id FROM $tempTable
       ");
-      CRM_Core_DAO::executeQuery(" DROP TABLE $tempTable");
+      CRM_Core_DAO::executeQuery(" DROP TEMPORARY TABLE $tempTable");
     }
 
     self::updateCacheTime($groupIDs, $processed);