You are here

public function DatabaseRowCount::calculateScore in Site Audit 8.3

.

Overrides SiteAuditCheckBase::calculateScore

File

src/Plugin/SiteAuditCheck/DatabaseRowCount.php, line 72

Class

DatabaseRowCount
Provides the CronLast Check.

Namespace

Drupal\site_audit\Plugin\SiteAuditCheck

Code

public function calculateScore() {
  $connection = Database::getConnection();
  $this->registry->rows_by_table = [];
  $warning = FALSE;
  $query = \Drupal::database()
    ->select('information_schema.TABLES', 'ist');
  $query
    ->fields('ist', [
    'TABLE_NAME',
    'TABLE_ROWS',
  ]);
  $query
    ->condition('ist.TABLE_ROWS', 1000, '>');
  $query
    ->condition('ist.table_schema', $connection
    ->getConnectionOptions()['database']);
  $query
    ->orderBy('TABLE_ROWS', 'DESC');
  $result = $query
    ->execute()
    ->fetchAllKeyed();
  foreach ($result as $table => $rows) {
    if ($rows > 1000) {
      $warning = TRUE;
    }
    $this->registry->rows_by_table[$table] = $rows;
  }
  if ($warning) {
    return SiteAuditCheckBase::AUDIT_CHECK_SCORE_WARN;
  }
  return SiteAuditCheckBase::AUDIT_CHECK_SCORE_INFO;
}