The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<%
  # Command
  my $command = $dbviewer->command;
  
  # Validation
  my $params = $command->params($self);
  my $rule = [
    database => {default => ''} => [
      'safety_name'
    ],
  ];
  my $vresult = $dbviewer->validator->validate($params, $rule);
  
  # Database
  my $database = $vresult->data->{database};
  
  # Primary keys
  my $database_engines = $command->show_database_engines($database);
%>

% layout 'dbviewer_common', title => "Database engines in $database ";
  % my $tables = [sort keys %$database_engines];
  %= include '/dbviewer/navi';


  <h3>Database engines</h3>
  <table class="table table-bordered">
    % for (my $i = 0; $i < @$tables; $i += 3) {
      <tr>
        % for my $k (0 .. 2) {
          <td>
            % my $table = $tables->[$i + $k];
            % if (defined $table) {
              <a href="<%= url_for("$sprefix/table")->query(database => $database, table => $table) %>">
                <%= $table %>
              </a>
              <b>(<%= $database_engines->{$table} %>)</b>
            % }
          </td>
        % }
      </tr>
    % }
  </table>