NAME
NetSDS::DBI - DBI wrapper for NetSDS
SYNOPSIS
use NetSDS::DBI;
$dbh = NetSDS::DBI->new(
dsn => 'dbi:Pg:dbname=test;host=127.0.0.1;port=5432',
login => 'user',
passwd => 'topsecret',
);
print $db->call("select md5(?)", 'zuka')->fetchrow_hashref->{md5};
DESCRIPTION
NetSDS::DBI
module provides wrapper around DBI module.
CLASS METHODS
- new([...]) - constructor
-
$dbh = NetSDS::DBI->new( dsn => 'dbi:Pg:dbname=test;host=127.0.0.1;port=5432', login => 'user', passwd => 'topsecret', );
- dbh() - DBI connection handler accessor
-
Returns: DBI object
This method provides accessor to DBI object and for low level access to database specific methods.
Example (access to specific method):
my $quoted = $db->dbh->quote_identifier(undef, 'auth', 'services'); # $quoted contains "auth"."services" now
- call($sql, @bind_params) - prepare and execute SQL query
-
Method
call()
implements the following functionality:* check connection to DBMS and restore it * prepare chached SQL statement * execute statement with bind parameters
Parameters:
* SQL query with placeholders * bind parameters
Return:
* statement handler from DBI
Example:
$sth = $dbh->call("select * from users"); while (my $row = $sth->fetchrow_hashref()) { print $row->{username}; }
INTERNAL METHODS
- _add_sets() - add initial SQL query
-
Example:
$obj->add_sets("set search_path to myscheme"); $obj->add_sets("set client_encoding to 'UTF-8'");
- _add_attrs() - add DBI handler attributes
-
$self->add_attrs(AutoCommit => 1);
- _check_connection() - ping and reconnect
-
Internal method checking connection and implement reconnect
- _connect() - connect to DBMS
-
Internal method starting connection to DBMS
EXAMPLES
samples/testdb.pl
BUGS
Unknown yet
SEE ALSO
None
TODO
None
AUTHOR
Michael Bochkaryov <misha@rattler.kiev.ua>