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 |
# |
# |
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}); |
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; |