Hello All, I don't know is it right place to discuss this or not. Sorry If I am doing something wrong. Installed sqlite-3.5.4 and DBD::SQLite-1.14 I get problems with this code:
----%<-------------------------------------------- #!/usr/bin/perl -w use strict; use DBI; use Data::Dumper; use Storable; use warnings; sub get_session { my ($dbh) = shift; #$dbh->{TraceLevel} = 2; my $sid = $ARGV[0]; my $SQL = sprintf("select a_session from sessions where id = %s", $dbh->quote($sid)); my $sth = $dbh->prepare_cached($SQL, undef, 3); $sth->execute; my ($val) = $sth->fetchrow_array; #my ($val2) = $sth->fetchrow_array; $sth->finish; #[3] undef $sth; my $session = Storable::thaw($val); } my $dbh = DBI->connect('dbi:SQLite:dbname=db/sessions.db'); print Dumper(get_session($dbh)); $dbh->disconnect; ----%<-------------------------------------------- If we run program as it looks, result will be: DBI::db=HASH(0x87a79c)->disconnect invalidates 1 active statement handle (either destroy statement handles or call finish on them before disconnecting) at ./decode_sessions.pl line 26. closing dbh with active statement handles at ./decode_sessions.pl line 26. Note: that my database does not contain duplicated records. If I uncomment (1), (2) or (1)+(2) result: closing dbh with active statement handles at ./decode_sessions.pl line 26. Inside DBD-SQLite this errors goes from this: --------%<---------------------------------------- int sqlite_db_disconnect (SV *dbh, imp_dbh_t *imp_dbh) { dTHR; DBIc_ACTIVE_off(imp_dbh); if (DBIc_is(imp_dbh, DBIcf_AutoCommit) == FALSE) { sqlite_db_rollback(dbh, imp_dbh); } if (sqlite3_close(imp_dbh->db) == SQLITE_BUSY) { /* active statements! */ warn("closing dbh with active statement handles"); } imp_dbh->db = NULL; av_undef(imp_dbh->functions); imp_dbh->functions = (AV *)NULL; av_undef(imp_dbh->aggregates); imp_dbh->aggregates = (AV *)NULL; return TRUE; } --------%<---------------------------------------- -- Alexander Batyrshin aka bash bash = Biomechanica Artificial Sabotage Humanoid _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users