On Mon, Nov 25, 2002 at 03:56:50PM -0800, David Wheeler wrote: > On Monday, November 25, 2002, at 03:20 PM, Tim Bunce wrote: > > >I'll look into this. > > I'm pretty sure that it's a difference between 5.6.x and 5.8.x. The > Exception::Class::DBI tests have always succeeded since I added a test > for the different versions of Perl. Still very strange, though.
Perl 5.8.0 is (quite reasonably) clearing refs in lexical variables in a more timely manner when the sub exists. The failing test in 07kids.t isn't testing anything significant so I've just replaced it with a comment: # Testing $dbh->{Kids} here is unstable because we would be relying on # when perl chooses to call DESTROY the lexical $sth created within prepare() # The HandleError sub doesn't get called until the do() is returning # and recent perl's (>=5.8.0) have destroyed the handle by then (quite reasonably). # When a HandleEvent attribute gets added to the DBI then we'll probably call that # at the moment the error is registered, and so we could test $sth->{Kids} then. Tim.