#include <cursor.hxx>
Inheritance diagram for pqxx::basic_cursor< ACCESS, UPDATE >:
Public Member Functions | |
basic_cursor (transaction_base *t, const PGSTD::string &query, const PGSTD::string &cname, ownershippolicy op=owned) | |
Create cursor based on given query. | |
basic_cursor (transaction_base *t, const PGSTD::string &cname, ownershippolicy op=owned) | |
Adopt existing SQL cursor. | |
virtual result | fetch (difference_type n) |
Fetch a number of rows from cursor. | |
virtual result | fetch (difference_type n, difference_type &d) |
Fetch result, but also return the number of rows of actual displacement. | |
virtual difference_type | move (difference_type n) |
Move cursor by given number of rows. | |
virtual difference_type | move (difference_type n, difference_type &d) |
Move cursor, but also return actual displacement in output parameter. |
|
Create cursor based on given query.
|
|
Adopt existing SQL cursor. Create a cursor object based on an existing SQL cursor. The name must be the exact name of that cursor (and unlike the name of a newly created cursor, will not be embellished for uniqueness).
|
|
Fetch result, but also return the number of rows of actual displacement. The relationship between actual displacement and result size gets tricky at the edges of the cursor's range of movement. As an example, consider a fresh cursor that's been moved forward by 2 rows from its starting position; we can move it backwards from that position by 1 row and get a result set of 1 row, ending up on the first actual row of data. If instead we move it backwards by 2 or more rows, we end up back at the starting position--but the result is still only 1 row wide! The output parameter compensates for this, returning true displacement (which also signed, so it includes direction). Reimplemented from pqxx::cursor_base. Reimplemented in pqxx::absolute_cursor< ACCESS, UPDATE >. |
|
Fetch a number of rows from cursor. This function can be used to fetch a given number of rows (by passing the desired number of rows as an argument), or all remaining rows (by passing cursor_base::all()), or fetch a given number of rows backwards from the current position (by passing the negative of the desired number), or all rows remaining behind the current position (by using cursor_base::backwards_all()). This function behaves slightly differently from the SQL FETCH command. Most notably, fetching zero rows does not move the cursor, and returns an empty result.
Reimplemented from pqxx::cursor_base. Reimplemented in pqxx::absolute_cursor< ACCESS, UPDATE >. |
|
Move cursor, but also return actual displacement in output parameter. As with the functions, the actual displacement may differ from the number of data rows skipped by the move.Reimplemented from pqxx::cursor_base. Reimplemented in pqxx::absolute_cursor< ACCESS, UPDATE >. |
|
Move cursor by given number of rows.
Reimplemented from pqxx::cursor_base. Reimplemented in pqxx::absolute_cursor< ACCESS, UPDATE >. |