/[cvs]/nfo/perl/libs/Data/Storage/Handler/DBI.pm
ViewVC logotype

Diff of /nfo/perl/libs/Data/Storage/Handler/DBI.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.7 by joko, Sun Dec 1 07:09:09 2002 UTC revision 1.8 by joko, Sun Dec 1 22:20:43 2002 UTC
# Line 3  Line 3 
3  #  $Id$  #  $Id$
4  #  #
5  #  $Log$  #  $Log$
6    #  Revision 1.8  2002/12/01 22:20:43  joko
7    #  + sub createDb (from Storage.pm)
8    #
9  #  Revision 1.7  2002/12/01 07:09:09  joko  #  Revision 1.7  2002/12/01 07:09:09  joko
10  #  + sub getListFiltered (dummy redirecting to getListUnfiltered)  #  + sub getListFiltered (dummy redirecting to getListUnfiltered)
11  #  #
# Line 94  sub configureCOREHANDLE { Line 97  sub configureCOREHANDLE {
97    
98    $logger->debug( __PACKAGE__ . "->configureCOREHANDLE" );    $logger->debug( __PACKAGE__ . "->configureCOREHANDLE" );
99    
100      return if !$self->{COREHANDLE};
101    
102    # apply configured modifications to DBI-handle    # apply configured modifications to DBI-handle
103      if (exists $self->{locator}->{dbi}->{trace_level} && exists $self->{locator}->{dbi}->{trace_file}) {      if (exists $self->{locator}->{dbi}->{trace_level} && exists $self->{locator}->{dbi}->{trace_file}) {
104        $self->{COREHANDLE}->trace($self->{locator}->{dbi}->{trace_level}, $self->{locator}->{dbi}->{trace_file});        $self->{COREHANDLE}->trace($self->{locator}->{dbi}->{trace_level}, $self->{locator}->{dbi}->{trace_file});
# Line 202  sub getListFiltered { Line 207  sub getListFiltered {
207    return $self->getListUnfiltered($nodename);    return $self->getListUnfiltered($nodename);
208  }  }
209    
210    # TODO: do this via a parametrized "$self->connect(<connect just to database server - don't select database>)"
211    sub createDb {
212      
213      my $self = shift;
214      
215      # get dsn from Data::Storage::Locator instance
216      my $dsn = $self->{locator}->{dbi}->{dsn};
217    
218      $logger->debug( __PACKAGE__ .  "->createDb( dsn $dsn )" );
219    
220      # remove database setting from dsn-string
221      $dsn =~ s/database=(.+?);//;
222      
223      # remember extracted database name to know what actually to create right now
224      my $database_name = $1;
225    
226      # flag to indicate goodness
227      my $ok;
228      
229      # connect to database server - don't select/use any specific database
230      #if ( my $dbh = DBI->connect($dsn, '', '', { PrintError => 0 } ) ) {
231      if ( my $dbh = DBI->connect($dsn, '', '', $self->{locator}->{dbi} ) ) {
232    
233        if ($database_name) {
234          if ($dbh->do("CREATE DATABASE $database_name")) {
235            $ok = 1;
236          }
237        }
238    
239        $dbh->disconnect();
240    
241      }
242      
243      return $ok;
244      
245    }
246    
247  1;  1;

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed