libpqxx
7.3.1
|
Result set containing data returned by a query or command. More...
#include <result.hxx>
Public Types | |
using | size_type = result_size_type |
using | difference_type = result_difference_type |
using | reference = row |
using | const_iterator = const_result_iterator |
using | pointer = const_iterator |
using | iterator = const_iterator |
using | const_reverse_iterator = const_reverse_result_iterator |
using | reverse_iterator = const_reverse_iterator |
Public Member Functions | |
result () noexcept | |
Constructor. Do not call this; libpqxx will call it for you. More... | |
result (result const &rhs) noexcept=default | |
Constructor. Do not call this; libpqxx will call it for you. More... | |
result & | operator= (result const &rhs) noexcept=default |
Assign one result to another. More... | |
template<typename... TYPE> | |
auto | iter () const |
Iterate rows, reading them directly into a tuple of "TYPE...". More... | |
const_reverse_iterator | rbegin () const |
const_reverse_iterator | crbegin () const |
const_reverse_iterator | rend () const |
const_reverse_iterator | crend () const |
const_iterator | begin () const noexcept |
const_iterator | cbegin () const noexcept |
const_iterator | end () const noexcept |
const_iterator | cend () const noexcept |
reference | front () const noexcept |
reference | back () const noexcept |
PQXX_PURE size_type | size () const noexcept |
PQXX_PURE bool | empty () const noexcept |
size_type | capacity () const noexcept |
void | swap (result &) noexcept |
Exchange two result values in an exception-safe manner. More... | |
row | operator[] (size_type i) const noexcept |
Index a row by number. More... | |
row | at (size_type) const |
Index a row by number, but check that the row number is valid. More... | |
void | clear () noexcept |
Let go of the result's data. More... | |
PQXX_PURE std::string const & | query () const noexcept |
Query that produced this result, if available (empty string otherwise) More... | |
PQXX_PURE oid | inserted_oid () const |
If command was INSERT of 1 row, return oid of inserted row. More... | |
PQXX_PURE size_type | affected_rows () const |
Comparisons | |
You can compare results for equality. Beware: this is a very strict, dumb comparison. The smallest difference between two results (such as a string "Foo" versus a string "foo") will make them unequal. | |
bool | operator== (result const &) const noexcept |
Compare two results for equality. More... | |
bool | operator!= (result const &rhs) const noexcept |
Compare two results for inequality. More... | |
Column information | |
PQXX_PURE row_size_type | columns () const noexcept |
Number of columns in result. More... | |
row_size_type | column_number (zview name) const |
Number of given column (throws exception if it doesn't exist). More... | |
char const * | column_name (row_size_type number) const |
Name of column with this number (throws exception if it doesn't exist) More... | |
oid | column_type (row_size_type col_num) const |
Return column's type, as an OID from the system catalogue. More... | |
oid | column_type (zview col_name) const |
Return column's type, as an OID from the system catalogue. More... | |
oid | column_table (row_size_type col_num) const |
What table did this column come from? More... | |
oid | column_table (zview col_name) const |
What table did this column come from? More... | |
row_size_type | table_column (row_size_type col_num) const |
What column in its table did this column come from? More... | |
row_size_type | table_column (zview col_name) const |
What column in its table did this column come from? More... | |
Friends | |
class | pqxx::internal::gate::result_pipeline |
class | pqxx::field |
class | pqxx::internal::gate::result_creation |
class | pqxx::internal::gate::result_connection |
class | pqxx::internal::gate::result_row |
class | pqxx::internal::gate::result_sql_cursor |
Result set containing data returned by a query or command.
This behaves as a container (as defined by the C++ standard library) and provides random access const iterators to iterate over its rows. A row can also be accessed by indexing a result R by the row's zero-based number:
Result sets in libpqxx are lightweight, reference-counted wrapper objects which are relatively small and cheap to copy. Think of a result object as a "smart pointer" to an underlying result set.
using pqxx::result::iterator = const_iterator |
using pqxx::result::pointer = const_iterator |
using pqxx::result::reference = row |
|
noexcept |
Constructor. Do not call this; libpqxx will call it for you.
Referenced by pqxx::internal::clear_result().
|
defaultnoexcept |
Constructor. Do not call this; libpqxx will call it for you.
pqxx::result::size_type pqxx::result::affected_rows | ( | ) | const |
If command was INSERT
, UPDATE
, or DELETE:
number of affected rows
INSERT
, UPDATE
, or DELETE
; zero for all other commands. Index a row by number, but check that the row number is valid.
Referenced by pqxx::connection::get_variable().
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
Let go of the result's data.
Use this if you need to deallocate the result data earlier than you can destroy the result
object itself.
Multiple result
objects can refer to the same set of underlying data. The underlying data will be deallocated once all result
objects that refer to it are cleared or destroyed.
char const * pqxx::result::column_name | ( | row_size_type | number | ) | const |
Name of column with this number (throws exception if it doesn't exist)
Referenced by pqxx::row::column_number(), and pqxx::field::name().
pqxx::row::size_type pqxx::result::column_number | ( | zview | name | ) | const |
Number of given column (throws exception if it doesn't exist).
References pqxx::zview::c_str().
Referenced by pqxx::row::column_number().
pqxx::oid pqxx::result::column_table | ( | row_size_type | col_num | ) | const |
What table did this column come from?
References pqxx::oid_none.
Referenced by pqxx::row::column_table(), and pqxx::field::table().
oid pqxx::result::column_table | ( | zview | col_name | ) | const |
What table did this column come from?
pqxx::oid pqxx::result::column_type | ( | row_size_type | col_num | ) | const |
Return column's type, as an OID from the system catalogue.
References pqxx::oid_none.
Referenced by pqxx::row::column_type(), and pqxx::field::type().
oid pqxx::result::column_type | ( | zview | col_name | ) | const |
Return column's type, as an OID from the system catalogue.
|
noexcept |
Number of columns in result.
pqxx::result::const_reverse_iterator pqxx::result::crbegin | ( | ) | const |
pqxx::result::const_reverse_iterator pqxx::result::crend | ( | ) | const |
|
noexcept |
|
noexcept |
|
noexcept |
pqxx::oid pqxx::result::inserted_oid | ( | ) | const |
If command was INSERT
of 1 row, return oid of inserted row.
auto pqxx::result::iter | ( | ) | const |
Iterate rows, reading them directly into a tuple of "TYPE...".
Converts the fields to values of the given respective types.
Use this only with a ranged "for" loop. The iteration produces std::tuple<TYPE...> which you can "unpack" to a series of auto
variables.
|
noexcept |
Compare two results for inequality.
Assign one result to another.
Copying results is cheap: it copies only smart pointers, but the actual data stays in the same place.
|
noexcept |
Compare two results for equality.
|
noexcept |
Query that produced this result, if available (empty string otherwise)
pqxx::result::const_reverse_iterator pqxx::result::rbegin | ( | ) | const |
pqxx::result::const_reverse_iterator pqxx::result::rend | ( | ) | const |
|
noexcept |
|
noexcept |
Exchange two result
values in an exception-safe manner.
If the swap fails, the two values will be exactly as they were before.
The swap is not necessarily thread-safe.
Referenced by pqxx::row::swap().
pqxx::row::size_type pqxx::result::table_column | ( | row_size_type | col_num | ) | const |
What column in its table did this column come from?
References pqxx::to_string().
Referenced by pqxx::field::table_column(), and pqxx::row::table_column().
row_size_type pqxx::result::table_column | ( | zview | col_name | ) | const |
What column in its table did this column come from?
References pqxx::internal::clear_result().
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |