Provided by: libtangram-perl_2.12-4_all bug

NAME

       Tangram::Cursor - traverse a result set

SYNOPSIS

          $cursor = $storage->cursor($remote, $filter);

          while (my $obj = $cursor->current())
          {
             # process $obj
             $cursor->next();
          }

          $cursor->execute();

          while (my $obj = $cursor->current())
          {
             # process $obj
             $cursor->next();
          }

DESCRIPTION

       A Cursor makes it possible to iterate over a result set without loading all the objects in
       memory.

       See also the "limit" option to the select method of the Tangram::Storage class.

INSTANCE METHODS

   current
          $obj = $cursor->current();

       Returns the current object, or undef() if the result set is exhausted.

   next
          $obj = $cursor->next();
          @obj = $cursor->next();

       Moves to the next object in the result set, if any. Returns the new current object, or
       undef() if the result set is exhausted. In list context, return all the remaining objects.

   execute
          $cursor->execute();

       Moves the cursor to the first object in the result set, and return it.  Note that
       preparing Cursors is an expensive operation, you should reuse them if possible. execute()
       allows just that.

       execute() may be called several times in a row, or on a Cursor that has just been obtained
       from a Storage, without ill effects.

   residue
          my @vals = $cursor->residue();

       Returns the values of the Expr that were passed to the "retrieve" directive of the
       Storage::select() or Storage::cursor() statement.

CURSORS AND CONNECTIONS

       Each Cursor opens its own connection to the database.

SEE ALSO

       Tangram::Storage