---
name: "Data::Stream::Bulk::DBI"
section: "3pm"
platform: "linux"
package: "libdata-stream-bulk-perl"
version: "0.11-1.1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Data::Stream::Bulk::DBI"
---

# Data::Stream::Bulk::DBI(3pm)

N-at-a-time iteration of DBI statement results.

## NAME

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

## VERSION

version 0.11

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