chiark / gitweb /
Found bug in Graph::Undirected
[ypp-sc-tools.web-live.git] / yarrg / CommodsDatabase.pm
index 7bd7c77e1191055137e9b7fa43b45d2bec08263c..79744cede7254daabbb07cd0db1941d2e0b7eae2 100644 (file)
@@ -45,22 +45,38 @@ BEGIN {
     @ISA         = qw(Exporter);
     @EXPORT      = qw(&db_setocean &db_writer &db_connect $dbh
                      &db_filename &db_doall &db_onconflict
     @ISA         = qw(Exporter);
     @EXPORT      = qw(&db_setocean &db_writer &db_connect $dbh
                      &db_filename &db_doall &db_onconflict
-                     &db_setdatadir $db_datadir);
+                     &dbr_filename &dbr_connect);
     %EXPORT_TAGS = ( );
 
     @EXPORT_OK   = qw();
 }
 
     %EXPORT_TAGS = ( );
 
     @EXPORT_OK   = qw();
 }
 
+sub dbr_filename ($$) {
+    my ($datadir,$oceanname) = @_;
+    return "$datadir/OCEAN-$oceanname.db";
+}
+sub dbr_connect ($$) {
+    my ($datadir,$ocean) = @_;
+    return connect_core(dbr_filename($datadir,$ocean));
+}
+
+sub connect_core ($) {
+    my ($fn)= @_;
+    my $h= DBI->connect("dbi:SQLite:$fn",'','',
+                      { AutoCommit=>0,
+                        RaiseError=>1, ShowErrorStatement=>1,
+                        unicode=>1 })
+       or die "$fn $DBI::errstr ?";
+    return $h;
+    # default timeout is 30s which is plenty
+}
+
 our $dbfn;
 our $dbh;
 our $dbfn;
 our $dbh;
-our $db_datadir= '.';
 
 
-sub db_setdatadir ($) {
-    $db_datadir= $_[0];
-}
 sub db_setocean ($) {
     my ($oceanname) = @_;
 sub db_setocean ($) {
     my ($oceanname) = @_;
-    $dbfn= "$db_datadir/OCEAN-$oceanname.db";
+    $dbfn= dbr_filename('.',$oceanname);
 }
 sub db_filename () {
     return $dbfn;
 }
 sub db_filename () {
     return $dbfn;
@@ -94,12 +110,7 @@ sub db_writer () {
 }
 
 sub db_connect () {
 }
 
 sub db_connect () {
-    $dbh= DBI->connect("dbi:SQLite:$dbfn",'','',
-                      { AutoCommit=>0,
-                        RaiseError=>1, ShowErrorStatement=>1,
-                        unicode=>1 })
-       or die "$dbfn $DBI::errstr ?";
-    # default timeout is 30s which is plenty
+    $dbh= connect_core($dbfn);
 }
 
 sub db_doall ($) {
 }
 
 sub db_doall ($) {