chiark / gitweb /
abolish $dbh global in Mason code to shorten db connection lifetime
[ypp-sc-tools.web-live.git] / yarrg / CommodsWeb.pm
index d09331d..5e1520e 100644 (file)
@@ -43,16 +43,17 @@ BEGIN {
     our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
     $VERSION     = 1.00;
     @ISA         = qw(Exporter);
-    @EXPORT      = qw($dbh &db_setocean &db_connect &db_doall
-                     &ocean_list);
+    @EXPORT      = qw(&dbw_connect &ocean_list);
     %EXPORT_TAGS = ( );
 
     @EXPORT_OK   = qw();
 }
 
+our $datadir='.';
+
 for my $dir (@INC) {
     if ($dir =~ m/\.perl-lib$/) {
-       db_setdatadir("$dir/DATA");
+       $datadir= "$dir/DATA";
        last;
     }
 }
@@ -61,7 +62,7 @@ my @ocean_list;
 
 sub ocean_list () {
     if (!@ocean_list) {
-       my $fn= "$db_datadir/master-info.txt";
+       my $fn= "$datadir/master-info.txt";
        my $f= new IO::File $fn or die $!;
        my @r;
        while (<$f>) {
@@ -75,4 +76,11 @@ sub ocean_list () {
     return @ocean_list;
 }
 
+sub dbw_connect ($) {
+    my ($ocean) = @_;
+    die "unknown ocean $ocean ?"
+       unless grep { $_ eq $ocean } ocean_list();
+    return dbr_connect($datadir, $ocean);
+}
+
 1;