Tangram::Cursor.3pm

Langue: en

Autres versions - même langue

Version: 2006-03-29 (ubuntu - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

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