On Fri, Apr 12, 2002 at 01:10:05AM -0400, Sterin, Ilya wrote: > Jeff, congratulations:-) I'll plan on playing around with it sometime > this weekend and maybe even put it in use on some non critical systems > at work.
Yes indeed - very good work Jeff! Many thanks. > > * skipped 2 of the subtests on neat() which depend on > > looks_like_number() telling the difference between "2" > > and 2 :-) > > * skipped 5 subtests depending on hash() A little challenge for anyone with a little spare time... implement DBI's hash function in pure perl. > > It emulates dispatch() with the IMA bitmasks, KEEP_ERR, > > class_depth, etc.. It does not use lasth. All of the > > error/state passing is through $DBI::err and friends. Yeah! :) > > *However* it contains this line in _setup_handle(): > > > > $DBI::PurePerl::frump = $h; > > > > The variable is not used anywhere else, it functions only to > > keep $h alive after everything else is destroyed (which I > > *do* know is what we want to avoid). If it is commented out, > > then 4 errors appear in examp.t. subtests which use eval > > (150,151,166,168). All of the errors are because the test is > > expecting $@ to contain something and it is empty. I have > > checked, and the croak/RaiseError is working properly and has > > the message $@ is expecting but $@ never gets it. Unless I keep the > > handle alive with frump, then $@ works as it should. Is there any > > other way to make sure $@ is propagated properly? Uh, sounds like something odd's going on but I don't have time to look into it. Hopefully next week I'll try to get a new DBI release out and look into this then (unless someone else has solved it first). Right now I'd really appreciate it if anyone using a pure perl DBD could install this, tweak their DBI.pm as shown, set the DBI_PUREPERL env var to '2' and get testing... Thanks! Tim.
