ZF-12484: PgSQL lastInsertId() incorrect in a transaction
Description
When one calls lastInsertId() without any parameters inside a transaction that has not yet been committed, an incorrect value is returned.
To reproduce:
$this->getAdapter()->beginTransaction();
$this->insert(); // We assume that the table has a primary key named 'id' that is automatically incremented.
var_dump($this->getAdapter()->lastInsertId()); // Returns false
If one calls lastInsertId() with both parameters, then the correct value is returned. I.E.
var_dump($this->getAdapter()->lastInsertId($this->_name, 'id')); // Prints a number, like 23, which is what we would expect.
I tested this using Postgres, but it could be an issue in other adapters, as well.
Comments
Posted by Ralph Schindler (ralph) on 2013-04-05T16:07:07.000+0000
This issue has been closed on Jira and moved to GitHub for issue tracking. To continue following the resolution of this issues, please visit: https://github.com/zendframework/zf1/issues/40