|
|
Line 1: |
Line 1: |
− | ==NAME==
| |
− | FS::Cursor - Iterator for querying large data sets
| |
| | | |
− | ==SYNOPSIS==
| |
− | use FS::Cursor;
| |
− |
| |
− | my $search = FS::Cursor->new('table', { field => 'value' ... }); while ( my $row = $search->fetch ) { ... }
| |
− |
| |
− | ==CLASS METHODS==
| |
− | ; new ARGUMENTS
| |
− | :Constructs a cursored search. Accepts all the same arguments as qsearch, and returns an FS::Cursor object to fetch the rows one at a time.
| |
− |
| |
− | ==METHODS==
| |
− | ; fetch
| |
− | :Fetch the next row from the search results.
| |
− |
| |
− | ==TO DO==
| |
− | Replace all uses of qsearch with this.
| |
− |
| |
− | ==BUGS==
| |
− | Still doesn't really support MySQL, but it pretends it does, by simply running the query and returning records one at a time.
| |
− |
| |
− | The cursor will close prematurely if any code issues a rollback/commit. If you need protection against this use qsearch or fork and get a new dbh handle. Normally this issue will represent itself this message. ERROR: cursor "cursorXXXXXXX" does not exist.
| |
− |
| |
− | ==SEE ALSO==
| |
− | [[Freeside:3:Documentation:Developer/FS/Record|FS::Record]]
| |