function DrupalFakeCache::clear

DrupalFakeCache::clear($cid = NULL, $wildcard = FALSE)

Overrides DrupalDatabaseCache::clear().

Overrides DrupalDatabaseCache::clear

File

includes/cache-install.inc, line 42
Provides a stub cache implementation to be used during installation.

Class

DrupalFakeCache
Defines a stub cache implementation to be used during installation.

Code

function clear($cid = NULL, $wildcard = FALSE) {
  // If there is a database cache, attempt to clear it whenever possible. The
  // reason for doing this is that the database cache can accumulate data
  // during installation due to any full bootstraps that may occur at the
  // same time (for example, Ajax requests triggered by the installer). If we
  // didn't try to clear it whenever this function is called, the data in the
  // cache would become stale; for example, the installer sometimes calls
  // variable_set(), which updates the {variable} table and then clears the
  // cache to make sure that the next page request picks up the new value.
  // Not actually clearing the cache here therefore leads old variables to be
  // loaded on the first page requests after installation, which can cause
  // subtle bugs, some of which would not be fixed unless the site
  // administrator cleared the cache manually.
  try {
    if (class_exists('Database')) {
      parent::clear($cid, $wildcard);
    }
  }
  // If the attempt at clearing the cache causes an error, that means that
  // either the database connection is not set up yet or the relevant cache
  // table in the database has not yet been created, so we can safely do
  // nothing here.
  catch (Exception $e) {
  }
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/includes!cache-install.inc/function/DrupalFakeCache::clear/7.x