original_string: public function query($query, ...$data)
      {
          if ($data) {
              $query = $this->merge($query, $data);
          }
  
          try {
              $statement = $this->pdo->query($query);
  
              return new Result($statement);
          } catch (PDOException $exception) {
              throw new QueryException($exception, $query);
          }
      }
code: public function query($query, ...$data)
      {
          if ($data) {
              $query = $this->merge($query, $data);
          }
  
          try {
              $statement = $this->pdo->query($query);
  
              return new Result($statement);
          } catch (PDOException $exception) {
              throw new QueryException($exception, $query);
          }
      }
code_tokens: public function query ( $ query , ... $ data ) { if ( $ data ) { $ query = $ this -> merge ( $ query , $ data ) ; } try { $ statement = $ this -> pdo -> query ( $ query ) ; return new Result ( $ statement ) ; } catch ( PDOException $ exception ) { throw new QueryException ( $ exception , $ query ) ; } }
docstring: Run a query and return the result
  
  The result can be interactively fetched, but only once due to the
  forward-only cursor being used to fetch the results.
  
  @param string $query
  @param mixed  ...$data
  @return Result
  @throws QueryException
docstring_tokens: Run a query and return the result