original_string: public function execute($query = null, array $params = []) : object
      {
          // When using one argument and its array, assume its $params
          if (is_array($query)) {
              $params = $query;
              $query = null;
          }
  
          if (!$query) {
              $query = $this->getSQL();
          }
  
          return parent::execute($query, $params);
      }
code: public function execute($query = null, array $params = []) : object
      {
          // When using one argument and its array, assume its $params
          if (is_array($query)) {
              $params = $query;
              $query = null;
          }
  
          if (!$query) {
              $query = $this->getSQL();
          }
  
          return parent::execute($query, $params);
      }
code_tokens: public function execute ( $ query = null , array $ params = [ ] ) : object { // When using one argument and its array, assume its $params if ( is_array ( $ query ) ) { $ params = $ query ; $ query = null ; } if ( ! $ query ) { $ query = $ this -> getSQL ( ) ; } return parent :: execute ( $ query , $ params ) ; }
docstring: Execute a SQL-query.
  
  @param string|null|array $query  the SQL statement (or $params)
  @param array             $params the params array
  
  @return self
docstring_tokens: Execute a SQL - query .