Exemple #1
0
 /**
  * Implements \SiteAudit\Check\Abstract\calculateScore().
  */
 public function calculateScore()
 {
     if (version_compare(DRUSH_VERSION, 7, '>=')) {
         $sql = drush_sql_get_class();
         $db_spec = $sql->db_spec();
     } else {
         $db_spec = _drush_sql_get_db_spec();
     }
     try {
         $sql_query = 'SELECT SUM(TABLES.data_length + TABLES.index_length) ';
         $sql_query .= 'FROM information_schema.TABLES ';
         $sql_query .= 'WHERE TABLES.table_schema = :dbname ';
         $sql_query .= 'GROUP BY TABLES.table_schema ';
         $this->registry['rows_by_table'] = db_query($sql_query, array(':dbname' => $db_spec['database']))->fetchField();
         if (!$this->registry['rows_by_table']) {
             $this->abort = TRUE;
             return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_FAIL;
         }
         return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_INFO;
     } catch (PDOException $e) {
         // Error executing the query.
         $this->abort = TRUE;
         return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_FAIL;
     }
     // Empty database.
     $this->abort = TRUE;
     return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_FAIL;
 }
Exemple #2
0
 /**
  * Implements \SiteAudit\Check\Abstract\calculateScore().
  */
 public function calculateScore()
 {
     if (version_compare(DRUSH_VERSION, 7, '>=')) {
         $sql = drush_sql_get_class();
         $db_spec = $sql->db_spec();
     } else {
         $db_spec = _drush_sql_get_db_spec();
     }
     $sql_query = 'SELECT TABLE_NAME AS name ';
     $sql_query .= ', TABLE_COLLATION AS collation ';
     $sql_query .= 'FROM information_schema.TABLES ';
     $sql_query .= 'WHERE TABLES.table_schema = :dbname ';
     $sql_query .= 'AND TABLE_COLLATION NOT IN (:collation) ';
     $result = db_query($sql_query, array(':dbname' => $db_spec['database'], ':collation' => array('utf8_general_ci', 'utf8_unicode_ci', 'utf8_bin')));
     if (!$result->rowCount()) {
         return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_PASS;
     }
     $warn = FALSE;
     foreach ($result as $row) {
         $this->registry['collation_tables'][$row->name] = $row->collation;
         // Special case for old imports.
         if ($row->collation == 'latin1_swedish_ci') {
             $warn = TRUE;
         }
     }
     if ($warn) {
         return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_WARN;
     }
     return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_INFO;
 }
Exemple #3
0
 /**
  * Implements \SiteAudit\Check\Abstract\calculateScore().
  */
 public function calculateScore()
 {
     if (version_compare(DRUSH_VERSION, 7, '>=')) {
         $sql = drush_sql_get_class();
         $db_spec = $sql->db_spec();
     } else {
         $db_spec = _drush_sql_get_db_spec();
     }
     $this->registry['rows_by_table'] = array();
     $warning = FALSE;
     $sql_query = 'SELECT TABLE_NAME AS table_name, TABLE_ROWS AS rows ';
     $sql_query .= 'FROM information_schema.TABLES ';
     $sql_query .= 'WHERE TABLES.TABLE_SCHEMA = :dbname ';
     $sql_query .= 'AND TABLE_ROWS >= :count ';
     $sql_query .= 'ORDER BY TABLE_ROWS desc ';
     $result = db_query($sql_query, array(':count' => drush_get_option('min_rows', SiteAuditCheckDatabaseRowCount::AUDIT_CHECK_DB_ROW_MIN_DEFAULT), ':dbname' => $db_spec['database']));
     foreach ($result as $row) {
         if ($row->rows > drush_get_option('min_rows', SiteAuditCheckDatabaseRowCount::AUDIT_CHECK_DB_ROW_MIN_DEFAULT)) {
             $warning = TRUE;
         }
         $this->registry['rows_by_table'][$row->table_name] = $row->rows;
     }
     if ($warning) {
         return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_WARN;
     }
     return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_INFO;
 }
Exemple #4
0
 /**
  * Implements \SiteAudit\Check\Abstract\calculateScore().
  */
 public function calculateScore()
 {
     if (version_compare(DRUSH_VERSION, 7, '>=')) {
         $sql = drush_sql_get_class();
         $db_spec = $sql->db_spec();
     } else {
         $db_spec = _drush_sql_get_db_spec();
     }
     $sql_query = 'SELECT TABLE_NAME AS name ';
     $sql_query .= ', ENGINE ';
     $sql_query .= 'FROM information_schema.TABLES ';
     $sql_query .= 'WHERE TABLES.table_schema = :dbname ';
     $sql_query .= 'AND ENGINE != :engine ';
     $result = db_query($sql_query, array(':dbname' => $db_spec['database'], ':engine' => 'InnoDB'));
     if (!$result->rowCount()) {
         return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_PASS;
     }
     foreach ($result as $row) {
         $this->registry['engine_tables'][$row->name] = $row->ENGINE;
     }
     return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_FAIL;
 }