File

includes/database/prefetch.inc, line 394
Database interface code for engines that need complete control over their result sets. For example, SQLite will prefix some column names by the name of the table. We post-process the data, by renaming the column names using the same convention as…

Class

DatabaseStatementPrefetch
An implementation of DatabaseStatementInterface that prefetches all data.

Code

public function fetchObject($class_name = NULL, $constructor_args = array()) {
  if (isset($this->currentRow)) {
    if (!isset($class_name)) {

      // Directly cast to an object to avoid a function call.
      $result = (object) $this->currentRow;
    }
    else {
      $this->fetchStyle = PDO::FETCH_CLASS;
      $this->fetchOptions = array(
        'constructor_args' => $constructor_args,
      );

      // Grab the row in the format specified above.
      $result = $this
        ->current();

      // Reset the fetch parameters to the value stored using setFetchMode().
      $this->fetchStyle = $this->defaultFetchStyle;
      $this->fetchOptions = $this->defaultFetchOptions;
    }
    $this
      ->next();
    return $result;
  }
  else {
    return FALSE;
  }
}