libpqxx: pqxx::internal::sql_cursor Class Reference

libpqxx 4.0.1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | List of all members
pqxx::internal::sql_cursor Class Reference

Cursor with SQL positioning semantics. More...

`#include <cursor.hxx>`

Inheritance diagram for pqxx::internal::sql_cursor:

## Public Member Functions
| sql_cursor (transaction_base &t, const std::string &query, const std::string &cname, cursor_base::accesspolicy ap, cursor_base::updatepolicy up, cursor_base::ownershippolicy op, bool hold)
| sql_cursor (transaction_base &t, const std::string &cname, cursor_base::ownershippolicy op)
| ~sql_cursor () throw ()
result | fetch (difference_type rows, difference_type &displacement)
result | fetch (difference_type rows)
difference_type | move (difference_type rows, difference_type &displacement)
difference_type | move (difference_type rows)
difference_type | pos () const throw ()
| Current position, or -1 for unknown.
difference_type | endpos () const throw ()
| End position, or -1 for unknown.
const result & | empty_result () const throw ()
| Return zero-row result for this cursor.
void | close () throw ()
Public Member Functions inherited from pqxx::cursor_base
const std::string & | name () const throw ()
| Name of underlying SQL cursor.

## Additional Inherited Members
Public Types inherited from pqxx::cursor_base
enum | accesspolicy { forward_only, random_access }
| Cursor access-pattern policy. More...
enum | updatepolicy { read_only, update }
| Cursor update policy. More...
enum | ownershippolicy { owned, loose }
| Cursor destruction policy. More...
typedef result::size_type | size_type
typedef result::difference_type | difference_type
Static Public Member Functions inherited from pqxx::cursor_base
static difference_type | all () throw ()
| Special value: read until end.
static difference_type | next () throw ()
| Special value: read one row only.
static difference_type | prior () throw ()
| Special value: read backwards, one row only.
static difference_type | backward_all () throw ()
| Special value: read backwards from current position back to origin.
Protected Member Functions inherited from pqxx::cursor_base
| cursor_base (connection_base &, const std::string &Name, bool embellish_name=true)
Protected Attributes inherited from pqxx::cursor_base
const std::string | m_name

## Detailed Description

Cursor with SQL positioning semantics.

Thin wrapper around an SQL cursor, with SQL's ideas of positioning.

SQL cursors have pre-increment/pre-decrement semantics, with on either end of the result set a special position that does not repesent a row. This class models SQL cursors for the purpose of implementing more C++-like semantics on top.

Positions of actual rows are numbered starting at 1. Position 0 exists but does not refer to a row. There is a similar non-row position at the end of the result set.

Don't use this at home. You deserve better. Use the stateles_cursor instead.

## Constructor & Destructor Documentation

pqxx::internal::sql_cursor::sql_cursor | ( | transaction_base & | t,
|  | const std::string & | query,
|  | const std::string & | cname,
|  | cursor_base::accesspolicy | ap,
|  | cursor_base::updatepolicy | up,
|  | cursor_base::ownershippolicy | op,
|  | bool | hold
| ) |  |

References pqxx::connection_base::activate(), pqxx::connection_base::cap_cursor_scroll, pqxx::connection_base::cap_cursor_update, pqxx::connection_base::cap_cursor_with_hold, pqxx::transaction_base::conn(), pqxx::transaction_base::exec(), pqxx::cursor_base::forward_only, pqxx::cursor_base::name(), pqxx::connection_base::supports(), and pqxx::cursor_base::update.

pqxx::internal::sql_cursor::sql_cursor | ( | transaction_base & | t,
|  | const std::string & | cname,
|  | cursor_base::ownershippolicy | op
| ) |  |

References pqxx::transaction_base::conn(), and pqxx::cursor_base::owned.

pqxx::internal::sql_cursor::~sql_cursor | ( |  | ) | throw ()

## Member Function Documentation

void pqxx::internal::sql_cursor::close | ( |  | ) | throw ()

References pqxx::cursor_base::loose, and pqxx::cursor_base::owned.

const result& pqxx::internal::sql_cursor::empty_result | ( |  | ) | const throw ()

Return zero-row result for this cursor.

Referenced by pqxx::internal::stateless_cursor_retrieve().

difference_type pqxx::internal::sql_cursor::endpos | ( |  | ) | const throw ()

End position, or -1 for unknown.

Returns the final position, just after the last row in the result set. The starting position, just before the first row, counts as position zero.

End position is unknown until it is encountered during use.

Referenced by pqxx::internal::obtain_stateless_cursor_size().

result pqxx::internal::sql_cursor::fetch | ( | difference_type | rows,
|  | difference_type & | displacement
| ) |  |

References pqxx::result::size().

Referenced by pqxx::internal::stateless_cursor_retrieve().

result pqxx::internal::sql_cursor::fetch | ( | difference_type | rows | ) |

References fetch().

Referenced by fetch().

cursor_base::difference_type pqxx::internal::sql_cursor::move | ( | difference_type | rows,
|  | difference_type & | displacement
| ) |  |

References pqxx::result::affected_rows(), and pqxx::from_string().

Referenced by pqxx::internal::obtain_stateless_cursor_size(), and pqxx::internal::stateless_cursor_retrieve().

difference_type pqxx::internal::sql_cursor::move | ( | difference_type | rows | ) |

References move().

Referenced by move().

difference_type pqxx::internal::sql_cursor::pos | ( |  | ) | const throw ()

Current position, or -1 for unknown.

The starting position, just before the first row, counts as position zero.

Position may be unknown if (and only if) this cursor was adopted, and has never hit its starting position (position zero).

Referenced by pqxx::internal::stateless_cursor_retrieve().

The documentation for this class was generated from the following files:

- cursor.hxx
- cursor.cxx