/**
  * @param   InputInterface  $input  The input
  * @param   OutputInterface $output The output
  *
  * @return  void
  */
 protected function dumpSql(InputInterface $input, OutputInterface $output)
 {
     $connection = $this->repositoryFactory->getConnection();
     if (!$connection instanceof Connection) {
         $this->writeln($output, "Connection " . get_class_vars($connection) . " does not support SQL.");
         return;
     }
     $logger = $connection->getConfiguration()->getSQLLogger();
     if (!$logger instanceof DebugStack) {
         $this->writeln($output, "Debug logger is not enabled.");
         return;
     }
     $queries = $logger->queries;
     $table = $this->createTable($input, $output, ['#', 'SQL', 'Time']);
     foreach ($queries as $index => $query) {
         $sql = $query['sql'];
         $params = $query['params'];
         ksort($params);
         $sql = preg_replace_callback('~\\?~', function () use(&$params) {
             return array_shift($params);
         }, $sql);
         $sql = preg_replace('~(WHERE|LIMIT|INNER\\s+JOIN|LEFT\\s+JOIN)~', "\n  \\1", $sql);
         $sql = preg_replace('~(AND|OR)~', "\n    \\1", $sql);
         $table->addRow([$index, "{$sql}\n", sprintf('%.3f ms', 1000 * $query['executionMS'])]);
     }
     $table->render();
 }