Skip Menu |

This queue is for tickets about the DBD-InterBase CPAN distribution.

Report information
The Basics
Id: 53904
Status: patched
Priority: 0/
Queue: DBD-InterBase

People
Owner: Nobody in particular
Requestors: mjp [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.48
Fixed in: (no value)



Subject: [Patch] t/62.timeout.t failure: object is in use
t/62timeout.t fails test no. 12, wherein $dbh1 attempts to DROP its testing table, because another dbh, $dbh2, is still "using" that table: How to reproduce: [DBD-InterBase-0.48]$ perl -Mblib t/62timeout.t | grep not\ ok # 2nd tx issues update (Thu Jan 21 23:37:36 2010) DBD::InterBase::db do failed: This operation is not defined for system tables. -unsuccessful metadata update -object TESTAU is in use # Failed test 'DROP TABLE TESTAU' # at t/62timeout.t line 96. not ok 12 - DROP TABLE TESTAU # Looks like you failed 1 test of 14. Expected output: ok 12 Environment: - perl v5.10.1 (i686-linux) - Firebird 2.1.3.18185 - DBI 1.609, DBD::InterBase 0.48 Remarks: This behavior may have been different in previous versions of Firebird or InterBase, I'm unsure. However, the attached patch simply closes $dbh2 before attempting the DROP TABLE, which resolves the issue for me.
Subject: dbd-interbase-0.48.obj_in_use.patch
--- DBD-InterBase-0.48/t/62timeout.t.orig 2007-05-20 08:43:31.000000000 -0500 +++ DBD-InterBase-0.48/t/62timeout.t 2010-01-21 23:13:03.000000000 -0600 @@ -93,9 +93,9 @@ ok($dbh1->commit, "1st tx committed"); } + ok($dbh2->disconnect); + ok($dbh1->do("DROP TABLE $table"), "DROP TABLE $table"); ok($dbh1->disconnect); -} - -ok($dbh2->disconnect); +} # - SKIP {}