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',
	);
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
$this->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>