N-at-a-time iteration of dbi statement results.
version 0.11
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 \s-1DBI\s0 statement handles, using \*(L"fetchall_arrayref\*(R" in \s-1DBI\s0.
It fetches \*(C`max_rows\*(C' at a time (defaults to 500).
The statement handle to call \*(C`fetchall_arrayref\*(C' on.
Passed verbatim as the first param to \*(C`fetchall_arrayref\*(C'. Should usually be \*(C`undef\*(C', provided for completetness.
The second param to \*(C`fetchall_arrayref\*(C'. Controls the size of each buffer. Defaults to 500.
See Data::Stream::Bulk::DoneFlag. Calls \*(C`fetchall_arrayref\*(C' to get the next chunk of rows.
Calls \*(C`fetchall_arrayref\*(C' to get the raminder of the data (without specifying \*(C`max_rows\*(C').
Yuval Kogman <[email protected]>
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.