1.20.x prefetch.inc public DatabaseStatementPrefetch::fetchAll($fetch_style = NULL, $fetch_column = NULL, $constructor_args = NULL)

File

includes/database/prefetch.inc, line 420
Database interface code for engines that need complete control over their result sets.

Class

DatabaseStatementPrefetch
An implementation of DatabaseStatementInterface that prefetches all data.

Code

public function fetchAll($fetch_style = NULL, $fetch_column = NULL, $constructor_args = NULL) {
  $this->fetchStyle = isset($fetch_style) ? $fetch_style : $this->defaultFetchStyle;
  $this->fetchOptions = $this->defaultFetchOptions;
  if (isset($fetch_column)) {
    $this->fetchOptions['column'] = $fetch_column;
  }
  if (isset($constructor_args)) {
    $this->fetchOptions['constructor_args'] = $constructor_args;
  }

  $result = array();
  // Traverse the array as PHP would have done.
  while (isset($this->currentRow)) {
    // Grab the row in the format specified above.
    $result[] = $this->current();
    $this->next();
  }

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