Returns the sum total of validations for a given set of tags.
array $tags: Array of flat tags.
int Sum of all invalidations.
Drupal\Core\Cache\DatabaseBackend::flattenTags()
protected function checksumTags($flat_tags) {
$tag_cache =& drupal_static('Drupal\\Core\\Cache\\CacheBackendInterface::tagCache', array());
$checksum = array(
'invalidations' => 0,
'deletions' => 0,
);
$query_tags = array_diff($flat_tags, array_keys($tag_cache));
if ($query_tags) {
$db_tags = $this->connection
->query('SELECT tag, invalidations, deletions FROM {cache_tags} WHERE tag IN (:tags)', array(
':tags' => $query_tags,
))
->fetchAllAssoc('tag', \PDO::FETCH_ASSOC);
$tag_cache += $db_tags;
// Fill static cache with empty objects for tags not found in the database.
$tag_cache += array_fill_keys(array_diff($query_tags, array_keys($db_tags)), $checksum);
}
foreach ($flat_tags as $tag) {
$checksum['invalidations'] += $tag_cache[$tag]['invalidations'];
$checksum['deletions'] += $tag_cache[$tag]['deletions'];
}
return $checksum;
}