Index: /net/marshall/home/web/zend/library/Zend/Db/Table.php
===================================================================
--- /net/marshall/home/web/zend/library/Zend/Db/Table.php	(revision 849)
+++ /net/marshall/home/web/zend/library/Zend/Db/Table.php	(working copy)
@@ -71,7 +71,21 @@
      * @var array
      */
     protected $_name;
-
+    
+    /**
+     * Set the "row" class name
+     * 
+     * @var string
+     */
+    protected $_rowClassName = 'Zend_Db_Table_Row';
+    
+    /**
+     * Set the "rowset" class name
+     * 
+     * @var string
+     */
+    protected $_rowsetClassName = 'Zend_Db_Table_Rowset';
+    
     /**
      * The table column names derived from Zend_Db_Adapter_*::describeTable().
      *
@@ -312,10 +326,12 @@
     public function fetchAll($where = null, $order = null, $count = null,
         $offset = null)
     {
-        return new Zend_Db_Table_Rowset(array(
+        $class = $this->_rowsetClassName;
+        return new $class(array(
             'db'    => $this->_db,
             'table' => $this,
             'data'  => $this->_fetch('All', $where, $order, $count, $offset),
+            'rowClassName' => $this->_rowClassName
         ));
     }
     
@@ -330,7 +346,8 @@
      */
     public function fetchRow($where = null, $order = null)
     {
-        return new Zend_Db_Table_Row(array(
+        $class = $this->_rowClassName;
+        return new $class(array(
             'db'    => $this->_db,
             'table' => $this,
             'data'  => $this->_fetch('Row', $where, $order, 1),
@@ -346,7 +363,8 @@
     {
         $keys = array_keys($this->_cols);
         $vals = array_fill(0, count($keys), null);
-        return new Zend_Db_Table_Row(array(
+        $class = $this->_rowClassName;
+        return new $class(array(
             'db'    => $this->_db,
             'table' => $this,
             'data'  => array_combine($keys, $vals),

