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

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>

COPYRIGHT AND LICENSE

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.