Data::Stream::Bulk::DBI.3pm

Langue: en

Autres versions - même langue

Version: 2010-08-24 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Data::Stream::Bulk::DBI - N-at-a-time iteration of DBI statement results.

SYNOPSIS

     use Data::Stream::Bulk::DBI;
 
     my $sth = $dbh->prepare("SELECT hate FROM sql"); # very big resultset
     $sth->execute;
 
     return Data::Stream::Bulk::DBI->new(
         sth => $sth,
         max_rows => $n, # how many at a time
         slice => [ ... ], # if you want to pass the first param to fetchall_arrayref
     );
 
 

DESCRIPTION

This implementation of Data::Stream::Bulk api works with DBI statement handles, using ``fetchall_arrayref'' in DBI.

It fetches "max_rows" at a time (defaults to 500).

ATTRIBUTES

sth

The statement handle to call "fetchall_arrayref" on.

slice

Passed verbatim as the first param to "fetchall_arrayref". Should usually be "undef", provided for completetness.

max_rows

The second param to "fetchall_arrayref". Controls the size of each buffer.

Defaults to 500.

METHODS

get_more

See Data::Stream::Bulk::DoneFlag.

Calls "fetchall_arrayref" to get the next chunk of rows.

all

Calls "fetchall_arrayref" to get the raminder of the data (without specifying "max_rows").

AUTHOR

Yuval Kogman <nothingmuch@woobling.org> This software is copyright (c) 2010 by Yuval Kogman.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.