ZF-4246: Zend_Db_Table_Row_Abstract adds ZEND_DB_ROWNUM to data on _refresh()
Description
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.
Comments
Posted by Mickael Perraud (mikaelkael) on 2008-10-04T03:39:47.000+0000
Could be fixed in conjunction of ZF-2243
Posted by Mickael Perraud (mikaelkael) on 2008-10-19T03:36:01.000+0000
testStatementFetchColumnEmptyResult in Zend_Db_Statement_OracleTest fails because of this issue
Posted by Mickael Perraud (mikaelkael) on 2009-01-24T00:29:08.000+0000
Fixed in SVN13759 for Oracle and Pdo_Oci Additional tests must follow to close this issue
Posted by Mickael Perraud (mikaelkael) on 2009-04-29T02:08:23.000+0000
Current tests cover the functionality for Oracle's adapter