The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Bio::DB::DBContextI - Interface for a class implementing a database context

SYNOPSIS

    # obtain a DBContextI implementing object somehow, usually through
    # a factory, for example
    use Bio::DB::BioDB;

    $dbcontext = Bio::DB::BioDB->new(
                        -database => 'biosql'
                        -user     => 'root',
                        -pass     => 'mypasswd',
                        -dbname   => 'pog',
                        -host     => 'caldy',
                        -port     => 3306,    # optional
                        -driver   => 'mysql',
            );

    # obtain other adaptors as needed
    $dbadp = $dbc->dbadaptor();
    $seq_adaptor = $dbadp->get_adaptor('Bio::PrimarySeqI');

DESCRIPTION

This object represents the context of a database that is implemented somehow.

CONTACT

    Hilmar Lapp, hlapp at gmx.net

APPENDIX

The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _

dsn

 Title   : dsn
 Usage   : $obj->dsn($newval)
 Function: Get/set the DSN for the database connection. 

           The DSN typically contains all non-credential information
           necessary to connect to the database, like driver, database
           or instance name, host, etc. Therefore, setting the DSN
           overrides any other individual properties set before. An
           implementation should make an attempt to parse those
           properties out of the DSN string but is not mandated to do
           so. Modules that use a DBContextI compliant object to
           construct a DSN should instead use the value of this
           property verbatim for connecting to the database, if it is
           defined.

           I.e., if you set this property, setting any other
           individual properties will not alter the DSN used for
           connecting to the database. If you query the property, a
           value will not be automatically constructed if only
           individual properties have been set. This is so because
           constructing the proper DSN from individual properties is
           driver-specific, and therefore cannot be done in a
           driver-neutral module.

 Example : 
 Returns : value of dsn (a scalar)
 Args    : on set, new value (a scalar or undef, optional)

dbname

 Title   : dbname
 Usage   : $obj->dbname($newval)
 Function: 
 Example : 
 Returns : value of dbname (a scalar)
 Args    : new value (a scalar, optional)

driver

 Title   : driver
 Usage   : $obj->driver($newval)
 Function: 
 Example : 
 Returns : value of driver (a scalar)
 Args    : new value (a scalar, optional)

username

 Title   : username
 Usage   : $obj->username($newval)
 Function: 
 Example : 
 Returns : value of username (a scalar)
 Args    : new value (a scalar, optional)

password

 Title   : password
 Usage   : $obj->password($newval)
 Function: 
 Example : 
 Returns : value of password (a scalar)
 Args    : new value (a scalar, optional)

host

 Title   : host
 Usage   : $obj->host($newval)
 Function: 
 Example : 
 Returns : value of host (a scalar)
 Args    : new value (a scalar, optional)

port

 Title   : port
 Usage   : $obj->port($newval)
 Function: 
 Example : 
 Returns : value of port (a scalar)
 Args    : new value (a scalar, optional)

dbadaptor

 Title   : dbadaptor
 Usage   : $dbadp = $dbc->dbadaptor();
 Function:
 Example :
 Returns : An Bio::DB::DBAdaptorI implementing object (an object adaptor
           factory).
 Args    : Optionally, on set an Bio::DB::DBAdaptorI implementing object (to
           be used as the object adaptor factory for the respective database)

dbi

 Title   : dbi
 Usage   :
 Function:
 Example :
 Returns : A Bio::DB::DBI implementing object
 Args    : Optionally, on set a Bio::DB::DBI implementing object

schema

 Title   : schema
 Usage   : $dbc->schema($newval)
 Function: Get/set the schema in which the database tables reside.

           A schema is typically equivalent to a namespace for a
           collection of tables within a database. In Oracle, the
           notion of a schema is synonymous with that of the user (all
           database objects of a user belong to the schema of the same
           name as the user) and hence can be omitted. In PostgreSQL,
           since v7.4 schemas can delineate collections of tables
           within a database (which in concept is more similar to a
           user in Oracle).

           For most drivers and database instances this will not be
           needed.

 Example : 
 Returns : value of schema (a scalar)
 Args    : on set, new value (a scalar or undef, optional)