Hello! I noticed strange problem on error path handling. Not sure if this sqlite error, DBD::SQLite error, or some misunderstanding on my part.
Verified on DBD::SQLite-1.33 and 1.34_1 (with bundled sqlite.c) and DBI-1.616. my $sth=$dbh->prepare("SELECT * FROM t"); $sth->execute; # success - 0E0 my $row1 = $sth->fetch; # returns [1] $sth->finish; sleep 5; # ^^ here another instance issued BEGIN EXCLUSIVE ... $sth->execute; # ... so this returns "database is locked"; # it's legitimate/expected behavior # $sth->finish; # just in case (clears error) # sleep 5; # ^^ here another instance already COMMIT'ed, DB is not locked anymore # $sth->execute; # success - 0E0 my $row2 = $sth->fetch; # returns undef # # WTF? # # If I prepare another statement (cloned from first!), # it returns row as expected: # my $sth2 = $dbh->prepare($sth->{Statement}); $sth2->execute; # success my $row3 = $sth2->fetch; # returns [1] _______________________________________________ DBD-SQLite mailing list DBD-SQLite@lists.scsys.co.uk http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbd-sqlite