/** * 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; }
/** * 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; }
/** * 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; }
/** * 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; }