src/Web2All/Table/ObjectIterator.class.php
public function fetchData()
  {
    // start row nr with zero, fetchData is called by rewind and followed by next
    // when de first row is fetched by next, the row nr is increased by one
    $this->current_row_nr = 0;
    // perform the query
    parent::fetchData();
    
    // reset recordcount
    $this->recordcount = null;
    
    // get first row, its expected
    $this->next();
    // because this is the first time, we consider the recordset unused
    // the current object is the first row, just what we expect when calling rewind, 
    // so rewind doesn't have to call fetchData again when its in this state
    // our previous next call marked the recordSet as used, but it doesn't know
    // its called for the first time, we do, so we mark the recordSet as unused now
    $this->recordSet_used = false;
  }
public function fetchData()
  {
    // start row nr with zero, fetchData is called by rewind and followed by next
    // when de first row is fetched by next, the row nr is increased by one
    $this->current_row_nr = 0;
    // perform the query
    parent::fetchData();
    
    // reset recordcount
    $this->recordcount = null;
    
    // get first row, its expected
    $this->next();
    // because this is the first time, we consider the recordset unused
    // the current object is the first row, just what we expect when calling rewind, 
    // so rewind doesn't have to call fetchData again when its in this state
    // our previous next call marked the recordSet as used, but it doesn't know
    // its called for the first time, we do, so we mark the recordSet as unused now
    $this->recordSet_used = false;
  }
fetch all data from the database

after this method has been called, this object can be
iterated as an array of Web2All_Table_IListableObject's