NAME

AddressBook::DB::DBI - Backend for AddressBook to use in databases

SYNOPSIS

  use AddressBook;
  $a = AddressBook->new(source => "DBI:CSV:f_dir=/tmp/csv",
                        table=>"a_csv",
                        );

DESCRIPTION

The DBI perl library module is required in order to use this package.

AddressBook::DB::DBI supports both sequential and random access backend database methods.

The DBI backend has so far only been tested against the CSV database driver.

AddressBook::DB::DBI behavior can be modified using the following options:

table

Required parameter

key_fields

A list of DBI field names (not cannonical names) which can be used to uniquely identify a database record.

dsn

See constructor details below

new

The database driver and driver arguments may be specified in in the constructor in one of two ways:

  1. As part of the "source" parameter, for example:

      $a = AddressBook->new(source => "DBI:CSV:f_dir=/tmp/csv",
                            table=>"a_csv",
                            );
  2. In a "dsn" parameter, for example:

      $a = AddressBook->new(source => "DBI",
                            dsn=>"CSV:f_dir=/tmp/csv",
                            table=>"a_csv",
                            );

    Like all AddressBook database constructor parameters, the "dsn" and "table" may also be specified in the configuration file.

Timestamps

For syncronization purposes, all records are timestamped depending on the database driver type:

CSV

All records are timestamped with the modification data of the CSV file.

AUTHOR

Mark A. Hershberger, <mah@everybody.org> David L. Leigh, <dleigh@sameasiteverwas.net>

SEE ALSO

AddressBook AddressBook::Config, AddressBook::Entry.

DBI DBD::CSV