ZF-12484: PgSQL lastInsertId() incorrect in a transaction
When one calls lastInsertId() without any parameters inside a transaction that has not yet been committed, an incorrect value is returned.
$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.