ZF-4246: Zend_Db_Table_Row_Abstract adds ZEND_DB_ROWNUM to data on _refresh()


Zend_Db_Table_Row_Abstract->_refresh() adds ZEND_DB_ROWNUM to the $this->_data and $this->_cleanData arrays.

I am saving a row to the database as part of a transaction (which succeeds and adds ZEND_DB_ROWNUM to the fields). If the subsequent $dbAdapter()->commit() fails, I want to save the row so that I can retrieve the values in the next request cycle.

When you try and reconnect the row to the database using $row->setTable(), or $row->setFromArray() you get an error because ZEND_DB_ROWNUM isn't in the list of columns for the table.

Either Zend_Db_Table_Abstract() should remove the ZEND_DB_ROWNUM from the _data and _cleanData arrays, or Zend_Db_Table->fetchRow() should.


Could be fixed in conjunction of ZF-2243

testStatementFetchColumnEmptyResult in Zend_Db_Statement_OracleTest fails because of this issue

Fixed in SVN13759 for Oracle and Pdo_Oci Additional tests must follow to close this issue

Current tests cover the functionality for Oracle's adapter