NAME
DBIO::Cursor - Abstract object representing a query cursor on a resultset.
VERSION
version 0.900004
SYNOPSIS
my $cursor = $schema->resultset('CD')->cursor();
# raw values off the database handle in resultset columns/select order
my @next_cd_column_values = $cursor->next;
# list of all raw values as arrayrefs
my @all_cds_column_values = $cursor->all;
See t/cursor.t for a runnable example of this raw-value ->next/ ->all API (shared with DBIO::Storage::DBI::Cursor).
DESCRIPTION
A Cursor represents a query cursor on a DBIO::ResultSet object. It allows for traversing the result set with "next", retrieving all results with "all" and resetting the cursor with "reset".
Usually, you would use the cursor methods built into DBIO::ResultSet to traverse it. See "next" in DBIO::ResultSet, "reset" in DBIO::ResultSet and "all" in DBIO::ResultSet for more information.
METHODS
new
Virtual method. Returns a new DBIO::Cursor object.
next
Virtual method. Advances the cursor to the next row. Returns an array of column values (the result of "fetchrow_array" in DBI method).
reset
Virtual method. Resets the cursor to the beginning.
all
Returns all rows in the DBIO::ResultSet. Unlike the other methods here, all has a working default implementation built on "reset" and "next"; subclasses may override it with a more efficient version.
is_exhausted
Virtual method. Returns true once the cursor has been fully consumed via "next" (or explicitly retired via "mark_exhausted") without an intervening "reset"; false otherwise.
position
Virtual method. Returns the number of rows handed out via "next" since the cursor was created or last "reset"; 0 if none have been fetched.
mark_exhausted
Virtual method. Flags the cursor as fully consumed without resetting it, so a subsequent "next" yields nothing until the cursor is "reset". Used by the collapse fast-path in DBIO::ResultSet to retire a cursor after draining it via a stealth "all".
AUTHOR
DBIO & DBIx::Class Authors
COPYRIGHT AND LICENSE
Copyright (C) 2026 DBIO Authors Portions Copyright (C) 2005-2025 DBIx::Class Authors Based on DBIx::Class, heavily modified.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.