Home » Database » MDB2_Schema » Bug #3857
MDB2_Tools_Manager, PostgreSQL and transactions
Details
| Submitted | 2005-03-17 04:43 UTC |
|---|---|
| From | justinh at superglobals dot com |
| Status | No Feedback |
| Package | MDB2_Schema |
| PHP Version | 5.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.