PgSQL lastInsertId() incorrect in a transaction #40

Open
zfbot opened this Issue Apr 5, 2013 · 2 comments

Comments

Projects
None yet
2 participants

zfbot commented Apr 5, 2013

Jira Information

Original Issue:ZF-12484
Issue Type:Bug
Reporter:Vestigal
Created:12/06/12
Assignee:Ralph Schindler
Components:Zend_Db

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.

zfbot commented Apr 5, 2013

This issue was ported from the ZF2 Jira Issue Tracker at
http://framework.zend.com/issues/browse/ZF-12484

Known GitHub users mentioned in the original message or comment:

vestigal commented Apr 9, 2013

I was the original filer of this bug, back when it was on Jira.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment