function fetchAll()
 {
     if ($this->items !== null) {
         return $this->items;
     }
     if ($this->query === null) {
         $this->query = $this->generateSQL();
     }
     if ($this->query === false) {
         return array();
     }
     $query = "SELECT * {$this->query} ORDER BY {$this->order}";
     $params = array('offset' => $this->offset, 'limit' => $this->limit);
     $db = eZDB::instance();
     $rows = $db->arrayQuery($query, $params);
     if (count($rows) == 0) {
         $this->items = array();
     } else {
         $this->items = eZURLAliasQuery::makeList($rows);
     }
     return $this->items;
 }