/** * Deletes all the cache entries. */ public static function resetCache() { // reset any static caching self::$_cache = NULL; // reset any db caching $config = CRM_Core_Config::singleton(); $smartGroupCacheTimeout = CRM_Contact_BAO_GroupContactCache::smartGroupCacheTimeout(); //make sure to give original timezone settings again. $now = CRM_Utils_Date::getUTCTime(); $query = "\nDELETE\nFROM civicrm_acl_cache\nWHERE modified_date IS NULL\n OR (TIMESTAMPDIFF(MINUTE, modified_date, {$now}) >= {$smartGroupCacheTimeout})\n"; CRM_Core_DAO::singleValueQuery($query); // CRM_Core_DAO::singleValueQuery("TRUNCATE TABLE civicrm_acl_contact_cache"); // No, force-commits transaction // CRM_Core_DAO::singleValueQuery("DELETE FROM civicrm_acl_contact_cache"); // Transaction-safe if (CRM_Core_Transaction::isActive()) { CRM_Core_Transaction::addCallback(CRM_Core_Transaction::PHASE_POST_COMMIT, function () { CRM_Core_DAO::singleValueQuery("TRUNCATE TABLE civicrm_acl_contact_cache"); }); } else { CRM_Core_DAO::singleValueQuery("TRUNCATE TABLE civicrm_acl_contact_cache"); } }
public function testIsActive_rollback() { $this->assertEquals(FALSE, CRM_Core_Transaction::isActive()); $this->assertEquals(TRUE, CRM_Core_Transaction::willCommit()); $tx = new CRM_Core_Transaction(); $this->assertEquals(TRUE, CRM_Core_Transaction::isActive()); $this->assertEquals(TRUE, CRM_Core_Transaction::willCommit()); $tx->rollback(); $this->assertEquals(TRUE, CRM_Core_Transaction::isActive()); $this->assertEquals(FALSE, CRM_Core_Transaction::willCommit()); $tx = NULL; $this->assertEquals(FALSE, CRM_Core_Transaction::isActive()); $this->assertEquals(TRUE, CRM_Core_Transaction::willCommit()); }
/** * Deletes all the cache entries. */ public static function resetCache() { // reset any static caching self::$_cache = NULL; $query = "\nDELETE\nFROM civicrm_acl_cache\nWHERE modified_date IS NULL\n OR (modified_date <= %1)\n"; $params = array(1 => array(CRM_Contact_BAO_GroupContactCache::getCacheInvalidDateTime(), 'String')); CRM_Core_DAO::singleValueQuery($query, $params); // CRM_Core_DAO::singleValueQuery("TRUNCATE TABLE civicrm_acl_contact_cache"); // No, force-commits transaction // CRM_Core_DAO::singleValueQuery("DELETE FROM civicrm_acl_contact_cache"); // Transaction-safe if (CRM_Core_Transaction::isActive()) { CRM_Core_Transaction::addCallback(CRM_Core_Transaction::PHASE_POST_COMMIT, function () { CRM_Core_DAO::singleValueQuery("TRUNCATE TABLE civicrm_acl_contact_cache"); }); } else { CRM_Core_DAO::singleValueQuery("TRUNCATE TABLE civicrm_acl_contact_cache"); } }