Data::Stream::Bulk::DBI - N-at-a-time iteration of DBI statement results.
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
);
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).
- 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.
- 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").
Yuval Kogman <nothingmuch@woobling.org>
This software is copyright (c) 2012 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.