PEAR is archived and read-only

This mirror preserves historical PEAR package releases and metadata so existing references remain available.

Home » Database » MDB2_Schema » Bug #3857

MDB2_Tools_Manager, PostgreSQL and transactions

Details

Submitted2005-03-17 04:43 UTC
Fromjustinh at superglobals dot com
StatusNo Feedback
PackageMDB2_Schema
PHP Version5.0.3
Roadmaps(Not assigned)

Comments

[2005-03-17 04:43 UTC] justinh at superglobals dot com

Description:
------------
In PostgreSQL, if an error occurs during a transaction, the transaction moves to an abort state and any subsequent queries during that transaction are ignored.

MDB2_Tools_Manager executes queries and uses returned errors to determine behavior, thus causing PostgreSQL to enter an abort state, which negates any subsequent queries.

As a work-around, before calling MDB2_Tools_Manager::updateDatabase(), you can set MDB2::$supported['transactions'] to FALSE, preventing the transaction problem from occuring.

[2005-04-01 13:36 UTC] smith at backendmedia dot com

It seems pgsql (and newer oracle releases) are among the few that support DDL statements in transactions. So it seems I should drop transactions around DDL statements.

[2005-04-09 11:54 UTC] smith at backendmedia dot com

it seems like DB2 (although unsupported by MDB2) also supports transactional ddl statements, so the best course of action is to add a supports entry for this in MDB2 and check for this in the Manager. also instead of attempting to overwrite by creating and checking for errors I will try to first check and create/truncate on demand.

[2005-04-16 22:24 UTC] smith at backendmedia dot com

could you check current cvs?

[2005-06-03 07:52 UTC] smith at backendmedia dot com

any chances to get this tested?

[2005-06-17 15:12 UTC] justinh at superglobals dot com

Sorry I haven't responded to this yet. The email address in the bug is incorrect, so I'm not getting emails when this bug changes.

I have not had a chance to check this out against the latest builds of MDB2. I'll check into this weekend.