X-Original-To: pgsql-interfaces-postgresql.org@localhost.postgresql.org Received: from localhost (unknown [200.46.204.144]) by svr1.postgresql.org (Postfix) with ESMTP id C4CA6329E15 for ; Mon, 20 Sep 2004 13:05:47 +0100 (BST) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 12294-08 for ; Mon, 20 Sep 2004 12:05:40 +0000 (GMT) Received: from ssmcmail.nems.noaa.gov (ssmcmail.nems.noaa.gov [205.156.4.221]) by svr1.postgresql.org (Postfix) with ESMTP id 4DE31329E17 for ; Mon, 20 Sep 2004 13:05:42 +0100 (BST) Received: from noaa.gov ([140.90.8.70]) by ssmcmail.nems.noaa.gov (Netscape Messaging Server 4.15) with ESMTP id I4C9LI00.KA2 for ; Mon, 20 Sep 2004 08:05:42 -0400 Message-ID: <414EC797.202C8C76@noaa.gov> Date: Mon, 20 Sep 2004 08:05:43 -0400 From: Chip Gobs Organization: DOC/NOAA/NWS - National Weather Service X-Sender: "Chip Gobs" X-Mailer: Mozilla 4.77 [en]C-CCK-MCD (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: pgsql-interfaces@postgresql.org Subject: Implicit Transactions and Rolling Back Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, hits=0.0 tagged_above=0.0 required=5.0 tests= X-Spam-Level: X-Archive-Number: 200409/15 X-Sequence-Number: 5090 We are porting from Informix to PostgreSQL 7.4.5 and have noticed the following behavior. If we try to OPEN a CURSOR for an invalid SELECT statement in ECPG, we get an error, as expected. However, if we then attempt to OPEN another CURSOR for a valid statement, we get an error that says we are in a failed transaction. At that point, no statement will succeed. The only way we have found to get out of this state is to ROLLBACK explicitly. We are not using explicit transactions. My understanding is that PG should be rolling back failed statements when we are not in an explicit transaction. Do we have an incorrect setting, a misunderstanding of how it is supposed to work, or a bug? Could anyone enlighten me? Thanks, Chip