logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

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.

Author

       Yuval Kogman <nothingmuch@woobling.org>

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).

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").

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
               );

Version

       version 0.11

See Also