/**
  * @param QueryInterface $query
  *
  * @return Result|null
  * @throws Exception
  */
 public function process(QueryInterface $query)
 {
     if (!$query instanceof ShowQuery || $query->getObject() !== ShowQuery::EXPRESSION_INDEX) {
         return null;
     }
     $fromExpr = $query->getFromExpression();
     if (!$fromExpr) {
         throw new Exception('From expression missing.');
     }
     $tablet = $this->tablet->getTablet();
     $schemaCmd = new GetSchema($tablet->getAlias());
     /* @var $result GetSchemaResult */
     $result = $this->client->executeCommand($schemaCmd);
     return new IndexFrom($result, $fromExpr);
 }