Bio-DB-SeqFeature
view release on metacpan or search on metacpan
lib/Bio/DB/SeqFeature/Store.pm view on Meta::CPAN
Function: fetch feature from database
Returns : feature
Args : primary id
Status : ABSTRACT METHOD; MUST BE IMPLEMENTED BY AN ADAPTOR
This method is the back end for fetch(). It accepts a primary_id and
returns a feature object. It must be implemented by the adaptor.
In practice, the implementation will retrieve the serialized
Bio::SeqfeatureI object from the database and pass it to the thaw()
method to unserialize it and synchronize the primary_id.
=cut
# _fetch($id)
sub _fetch { shift->throw_not_implemented }
=head2 _fetch_many
Title : _fetch_many
Usage : $feature = $db->_fetch_many(@primary_ids)
lib/Bio/DB/SeqFeature/Store/DBI/SQLite.pm view on Meta::CPAN
$writeable = 1 if $is_temporary or $dump_dir;
$dsn or $self->throw("Usage: ".__PACKAGE__."->init(-dsn => \$dbh || \$dsn)");
my $dbh;
if (ref $dsn) {
$dbh = $dsn;
} else {
$dsn = "dbi:SQLite:$dsn" unless $dsn =~ /^dbi:/;
$dbh = DBI->connect($dsn,$user,$pass,$dbi_options) or $self->throw($DBI::errstr);
$dbh->do("PRAGMA synchronous = OFF;"); # makes writes much faster
$dbh->do("PRAGMA temp_store = MEMORY;"); # less disk I/O; some speedup
$dbh->do("PRAGMA cache_size = 20000;"); # less disk I/O; some speedup
# Keep track of database file location
my $cwd = getcwd;
my ($db_file) = ($dsn =~ m/(?:db(?:name)?|database)=(.+)$/);
$self->{dbh_file} = "$cwd/$db_file";
}
$self->{dbh} = $dbh;
$self->{fts} = $fts;
$self->{is_temp} = $is_temporary;
( run in 0.222 second using v1.01-cache-2.11-cpan-0d8aa00de5b )