[CDBI] Odd Class::DBI error since upgrading Perl and doing a clean install of all modules

James M jmessrie at cox.net
Fri Feb 10 02:42:31 GMT 2006


I have been running a production application based on Class::DBI
continuously with no problems.  I was using Class::DBI v3.0.14.

I recently decided to upgrade from Perl 5.8.7 to 5.8.8 and do a clean
install of all Perl modules.  Since then, one of my production scripts keeps
failing with the following runtime error:

Operation "bool": no method found, argument in overloaded package
Class::DBI::Object::Has::Been::Deleted at
/usr/lib/perl5/site_perl/5.8.8/Class/DBI.pm line 491.

I have never seen this error before and I am not definitely sure if it is
related to the Perl upgrade.  But nothing else has changed.  Also, it is
kind of hard to track down the actual problem to the line because it's
within a large code block within an eval (the whole block is done in one
database transaction).
If the problem is related to deletes, the majority of deletes within that
block are like the following:

my $obj = Object->retrieve($id);
$obj->delete if defined $obj;

But again, this code has been working fine for a long time.  Let me know if
anyone knows what could have caused that error above to suddenly start
popping up.  Thanks in advance.

James





More information about the ClassDBI mailing list