private function renderServer(PhabricatorConfigServerSchema $comp, PhabricatorConfigServerSchema $expect, PhabricatorConfigServerSchema $actual)
 {
     $charset_issue = PhabricatorConfigStorageSchema::ISSUE_CHARSET;
     $collation_issue = PhabricatorConfigStorageSchema::ISSUE_COLLATION;
     $rows = array();
     foreach ($comp->getDatabases() as $database_name => $database) {
         $actual_database = $actual->getDatabase($database_name);
         if ($actual_database) {
             $charset = $actual_database->getCharacterSet();
             $collation = $actual_database->getCollation();
         } else {
             $charset = null;
             $collation = null;
         }
         $status = $database->getStatus();
         $issues = $database->getIssues();
         $rows[] = array($this->renderIcon($status), phutil_tag('a', array('href' => $this->getApplicationURI('/database/' . $database_name . '/')), $database_name), $this->renderAttr($charset, $database->hasIssue($charset_issue)), $this->renderAttr($collation, $database->hasIssue($collation_issue)));
     }
     $table = id(new AphrontTableView($rows))->setHeaders(array(null, pht('Database'), pht('Charset'), pht('Collation')))->setColumnClasses(array(null, 'wide pri', null, null));
     $title = pht('Database Status');
     $properties = $this->buildProperties(array(), $comp->getIssues());
     $prop_box = id(new PHUIObjectBoxView())->setHeader($this->buildHeaderWithDocumentationLink($title))->addPropertyList($properties);
     $table_box = id(new PHUIObjectBoxView())->setHeaderText(pht('Databases'))->setTable($table);
     return $this->buildResponse($title, array($prop_box, $table_box));
 }