AddressBook

 view release on metacpan or  search on metacpan

lib/AddressBook/DB/DBI.pm  view on Meta::CPAN

  }
  if(defined $self->{dsn}) {
    ($self->{dbi_driver},$self->{dsn}) = split (':',$self->{dsn});
    my $dbh = DBI->connect("dbi:" . $self->{dbi_driver} . ":" . $self->{dsn}) 
	|| croak $self->{dbh}->errstr;
    $self->{dbh} = $dbh;
  }
  if (! defined $self->{intra_attr_sep_char}) {
    $self->{intra_attr_sep_char} = ';';
  }
  $self->_verify_table;
  return $self;
}

sub _verify_table {
  my $self = shift;
  my $class = ref $self || croak "Not a method call";
  if ($self->{dbi_driver} eq "CSV") {
    my @tables = $self->{dbh}->func('list_tables');
    my $found = 0;
    foreach (@tables) {
      if ($_ eq $self->{table}) {
	$found=1;
	last;
      }
    }
    if (! $found) {croak "table \"$self->{table}\" does not exist"}
  } else {
    croak "Cannot verify table";
  }
}

sub DESTROY {
  my $self = shift;
  my $class = ref $self || croak "Not a method call";

  $self->{dbh}->disconnect;
}



( run in 0.768 second using v1.01-cache-2.11-cpan-5467b0d2c73 )