NAME

Rose::DB::Registry::Entry - Data source registry entry.

SYNOPSIS

use Rose::DB::Registry::Entry;

$entry = Rose::DB::Registry::Entry->new(
  domain   => 'production',
  type     => 'main',
  driver   => 'Pg',
  database => 'big_db',
  host     => 'dbserver.acme.com',
  username => 'dbadmin',
  password => 'prodsecret',
  server_time_zone => 'UTC');

Rose::DB->register_db($entry);

# ...or...

Rose::DB->registry->add_entry($entry);

...

DESCRIPTION

Rose::DB::Registry::Entry objects store information about a single Rose::DB data source. See the Rose::DB documentation for more information on data sources, and the Rose::DB::Registry documentation to learn how Rose::DB::Registry::Entry objects are managed.

Rose::DB::Registry::Entry inherits from, and follows the conventions of, Rose::Object. See the Rose::Object documentation for more information.

CONSTRUCTOR

new PARAMS

Constructs a Rose::DB::Registry::Entry object based on PARAMS, where PARAMS are name/value pairs. Any object method is a valid parameter name.

OBJECT METHODS

autocommit [VALUE]

Get or set the value of the "AutoCommit" connect option.

catalog [CATALOG]

Get or set the database catalog name. This setting is only relevant to databases that support the concept of catalogs.

clone

Returns a clone (i.e., deep copy) of the current object.

connect_option NAME [, VALUE]

Get or set the connect option named NAME. Returns the current value of the connect option.

connect_options [HASHREF | PAIRS]

Get or set the options passed in a hash reference as the fourth argument to the call to DBI->connect(). See the DBI documentation for descriptions of the various options.

If a reference to a hash is passed, it replaces the connect options hash. If a series of name/value pairs are passed, they are added to the connect options hash.

Returns a reference to the hash of options in scalar context, or a list of name/value pairs in list context.

database [NAME]

Get or set the database name.

description [TEXT]

A description of the data source.

domain [DOMAIN]

Get or set the data source domain. Note that changing the domain after a registry entry has been added to the registry has no affect on where the entry appears in the registry.

driver [DRIVER]

Get or set the driver name. The DRIVER argument is converted to lowercase before being set.

dsn [DSN]

Get or set the DBI DSN (Data Source Name). Note that an explicitly set DSN may render some other attributes inaccurate. For example, the DSN may contain a host name that is different than the object's current host() value. I recommend not setting the DSN value explicitly unless you are also willing to manually synchronize (or ignore) the corresponding object attributes.

dump

Returns a reference to a hash of the entry's attributes. Only those attributes with defined values are included in the hash keys. All values are deep copies.

host [NAME]

Get or set the database server host name.

password [PASS]

Get or set the database password.

port [NUM]

Get or set the database server port number.

pre_disconnect_sql [STATEMENTS]

Get or set the SQL statements that will be run immediately before disconnecting from the database. STATEMENTS should be a list or reference to an array of SQL statements. Returns a reference to the array of SQL statements in scalar context, or a list of SQL statements in list context.

post_connect_sql [STATEMENTS]

Get or set the SQL statements that will be run immediately after connecting to the database. STATEMENTS should be a list or reference to an array of SQL statements. Returns a reference to the array of SQL statements in scalar context, or a list of SQL statements in list context.

Get or set the value of the "PrintError" connect option.

raise_error [VALUE]

Get or set the value of the "RaiseError" connect option.

schema [SCHEMA]

Get or set the database schema name. This setting is only useful to databases that support the concept of schemas (e.g., PostgreSQL).

server_time_zone [TZ]

Get or set the time zone used by the database server software. TZ should be a time zone name that is understood by DateTime::TimeZone. See the DateTime::TimeZone documentation for acceptable values of TZ.

type [TYPE]

Get or set the data source type. Note that changing the type after a registry entry has been added to the registry has no affect on where the entry appears in the registry.

username [NAME]

Get or set the database username.

AUTHOR

John C. Siracusa (siracusa@gmail.com)

COPYRIGHT

Copyright (c) 2008 by John C. Siracusa. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.