Bio-DB-Taxonomy-sqlite
view release on metacpan or search on metacpan
lib/Bio/DB/Taxonomy/sqlite.pm view on Meta::CPAN
# one file. Mayeb ignore it in favor of having full path for db_name?
my ($dir, $db_name) = ($self->index_directory, $self->db_name);
if (! -e $db_name || $force) {
# TODO: we're ignoring index_directory for now, may add support for this
# down the way
my $dbh = DBI->connect("dbi:SQLite:dbname=$db_name","","") or die $!;
$self->debug("Running SQLite version:".$dbh->{sqlite_version}."\n");
#$dbh->do('PRAGMA synchronous = 0'); # Non transaction safe!!!
if ($self->cache_size) {
my $cs = $self->cache_size;
$self->debug("Setting cache size $cs\n");
$dbh->do("PRAGMA cache_size = $cs")
}
$self->debug("Loading taxon table data\n");
$self->_init_db($dbh);
open my $NODES, '<', $nodesfile
lib/Bio/DB/Taxonomy/sqlite.pm view on Meta::CPAN
$self->debug("Creating taxon index\n");
$dbh->do("CREATE INDEX parent_idx ON taxon (parent_id)") or $self->throw($dbh->errstr);
$self->debug("Creating name index\n");
$dbh->do("CREATE INDEX name_idx ON names (name)") or $self->throw($dbh->errstr);
$self->debug("Creating taxon name table index\n");
$dbh->do("CREATE INDEX taxon_name_idx ON names (taxon_id)") or $self->throw($dbh->errstr);
$dbh->do("PRAGMA foreign_keys = ON");
#$dbh->do('PRAGMA synchronous = 1');
$self->{dbh} = $dbh;
$self->{'_initialized'} = 1;
}
1;
}
# connect the internal db handle
sub _db_connect {
my $self = shift;
return if $self->{'_initialized'};
( run in 0.229 second using v1.01-cache-2.11-cpan-0d8aa00de5b )