Hi all, I currently rewrite SQL::Statment tests to run all tests (if possible) against SQL::Statement and all suitable (and known to me) DBI::DBD::SqlEngine based drivers.
During this I detected an error in a test which has a bad reaction of DBD::DBM: # $tdbh is a Test::DBH, which encapsulates some calls to abstract # tests against SQL::Statement and "real" $dbh's 1: ok( $tdbh->do( "CREATE TABLE foo (col INT)" ), 'create foo' ) or diag( $dbh->errstr() ); 2: ok( $tdbh->do( "SELECT CoL from foo WHERE 1=0" ), 'retrieve ->{NAME}' ) or diag( $dbh->errstr() ); This fails (as expected) in line 1 with "At least 2 columns are required for DBD::DBM tables ...", but leaves the dbm files lying around and line 2 fails with "Cannot modify readonly table at lib/DBD/DBM.pm line 413.". I think, failed create should force DBI::SQL::Nano and SQL::Statement force to remove the files, but is this a really correct/desired behavior (e.g. how would DBD::CSV behave when invalid characters are in the first line)? Best regards, Jens