I'm writing my own DBD driver that will not be going up on CPAN (internal to $work) and I patterned it quite heavily after
DBD::Mock which I co-maintain. In DBD::Mock, $h->set_err() will properly die when RaiseError is set to true. However, in my DBD, it doesn't do that. $dbh->errstr and $DBI::errstr are both set properly, but it doesn't die. This is everywhere, but I'm testing it in the db::commit() method, so it should be recognized by DBI's _install_method(). I've tried every single variation I can think of, but nothing seems to get it to die properly.
Has anyone ever run into this?
My criteria for good software:
- Does it work?
- Can someone else come in, make a change, and be reasonably certain no bugs were introduced?