Stephen R. van den Berg wrote:
aldem-pikedev@aldem.net wrote:
I am preparing to use Postgres in my app, found the following strange behavior:
---snip--- Sql.Sql db = Sql.Sql("pgsql://localhost", "test", "test", "test");
db->query("BEGIN"); db->query("INSERT INTO requests (SvTrId) VALUES ('lala')"); catch(db->query("INSERT INTO requests (SvTrId) VALUES ('lala')")); db->query("INSERT INTO requests (SvTrId) VALUES ('juju')"); db->query("ROLLBACK"); ---snip---
Database is opened, row with 'lala' is inserted, second query (obviously) fails as SvTrId is the primary key, but row with 'juju' is inserted *and* appears in the database - i.e. the transaction is *committed*!
Did anyone ever look into this? I was wading through some backlog mailinglist archives and came across this gem. I'm guessing nobody did, in which case I'll check and patch it.
Checking Pike 8.0, it works as god intended (i.e. cannot reproduce the problem). Backchecking the revision history, it seems like it should have worked since april 2009, which predates the original bugreport in 2011 by a large margin. If this problem still exists in one form or another please speak up.