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

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>