perl_version '5.006001';
all_from 'lib/DBIx/Class.pm';
+requires 'DBD::SQLite' => 1.23;
requires 'Data::Page' => 2.00;
requires 'Scalar::Util' => 0;
requires 'SQL::Abstract' => 1.51;
requires 'Encode' => 0 if ($] <= 5.008000);
# configure_requires so the sanity check below can run
-configure_requires 'DBD::SQLite' => 1.21;
+configure_requires 'DBD::SQLite';
test_requires 'Test::Builder' => 0.33;
test_requires 'Test::Warn' => 0.11;
return $backupfile;
}
-sub disconnect {
-
- # As described in this node http://www.perlmonks.org/?node_id=666210
- # there seems to be no sane way to ->disconnect a SQLite database with
- # cached statement handles. As per mst we just zap the cache and
- # proceed as normal.
-
- my $self = shift;
- if ($self->connected) {
- $self->_dbh->{CachedKids} = {};
- $self->next::method (@_);
- }
-}
-
-
1;
=head1 NAME
use lib qw(t/lib);
use DBICTest;
-# equivalent of $Module::Install::AUTHOR
-my $author = (
- ( not -d './inc' )
- or
- ( -e ($^O eq 'VMS' ? './inc/_author' : './inc/.author') )
-);
-
-plan $author
- ? (tests => 6)
- : (skip_all => 'Test temporarily disabled due to a widespread buggy SQLite version')
-;
+plan tests => 6;
my $db_orig = "$FindBin::Bin/var/DBIxClass.db";
my $db_tmp = "$db_orig.tmp";
# Disconnect the dbh, and be sneaky about it
# Also test if DBD::SQLite finaly knows how to ->disconnect properly
-TODO: {
- local $TODO = 'SQLite is evil/braindead. Once this test starts passing, remove the related atrocity from DBIx::Class::Storage::DBI::SQLite';
- my $w;
- local $SIG{__WARN__} = sub { $w = shift };
- $schema->storage->_dbh->disconnect;
- ok ($w !~ /active statement handles/, 'SQLite can disconnect properly \o/');
+{
+ my $w;
+ local $SIG{__WARN__} = sub { $w = shift };
+ $schema->storage->_dbh->disconnect;
+ ok ($w !~ /active statement handles/, 'SQLite can disconnect properly');
}
# Try the operation again - What should happen here is: