#include <userver/storages/postgres/result_set.hpp>
PostgreSQL result set.
Provides random access to rows via indexing operations and bidirectional iteration via iterators.
Usage synopsis
auto trx = ...;
auto res = trx.Execute("select a, b from table");
for (auto row : res) {
}
- Examples
- samples/digest_auth_service/auth_digest.cpp, and samples/postgres_service/postgres_service.cpp.
Definition at line 586 of file result_set.hpp.
|
static constexpr size_type | npos = std::numeric_limits<size_type>::max() |
|
|
template<typename T , typename Tag > |
class | TypedResultSet |
|
class | ConnectionImpl |
|
template<typename T > |
auto | AsSetOf () const |
| Get a wrapper for iterating over a set of typed results. For more information see psql_typed_results.
|
|
template<typename T > |
auto | AsSetOf (RowTag) const |
|
template<typename T > |
auto | AsSetOf (FieldTag) const |
|
template<typename Container > |
Container | AsContainer () const |
| Extract data into a container. For more information see psql_typed_results.
|
|
template<typename Container > |
Container | AsContainer (RowTag) const |
|
template<typename T > |
auto | AsSingleRow () const |
| Extract first row into user type. A single row result set is expected, will throw an exception when result set size != 1.
|
|
template<typename T > |
auto | AsSingleRow (RowTag) const |
|
template<typename T > |
auto | AsSingleRow (FieldTag) const |
|
template<typename T > |
std::optional< T > | AsOptionalSingleRow () const |
| Extract first row into user type.
|
|
template<typename T > |
std::optional< T > | AsOptionalSingleRow (RowTag) const |
|
template<typename T > |
std::optional< T > | AsOptionalSingleRow (FieldTag) const |
|
◆ const_iterator
◆ const_reverse_iterator
◆ difference_type
using storages::postgres::ResultSet::difference_type = std::ptrdiff_t |
◆ pointer
◆ reference
◆ size_type
using storages::postgres::ResultSet::size_type = std::size_t |
◆ value_type
◆ ResultSet()
storages::postgres::ResultSet::ResultSet |
( |
std::shared_ptr< detail::ResultWrapper > | pimpl | ) |
|
|
inlineexplicit |
◆ AsContainer() [1/2]
template<typename Container >
Container storages::postgres::ResultSet::AsContainer |
( |
| ) |
const |
Extract data into a container. For more information see psql_typed_results.
Definition at line 937 of file result_set.hpp.
◆ AsContainer() [2/2]
template<typename Container >
Container storages::postgres::ResultSet::AsContainer |
( |
RowTag | | ) |
const |
◆ AsOptionalSingleRow() [1/3]
template<typename T >
std::optional< T > storages::postgres::ResultSet::AsOptionalSingleRow |
( |
| ) |
const |
Extract first row into user type.
- Returns
- A single row result set if non empty result was returned, empty std::optional otherwise
- Exceptions
-
exception | when result set size > 1 |
Definition at line 998 of file result_set.hpp.
◆ AsOptionalSingleRow() [2/3]
template<typename T >
std::optional< T > storages::postgres::ResultSet::AsOptionalSingleRow |
( |
FieldTag | | ) |
const |
◆ AsOptionalSingleRow() [3/3]
template<typename T >
std::optional< T > storages::postgres::ResultSet::AsOptionalSingleRow |
( |
RowTag | | ) |
const |
◆ AsSetOf() [1/3]
template<typename T >
auto storages::postgres::ResultSet::AsSetOf |
( |
| ) |
const |
Get a wrapper for iterating over a set of typed results. For more information see psql_typed_results.
Definition at line 913 of file result_set.hpp.
◆ AsSetOf() [2/3]
template<typename T >
auto storages::postgres::ResultSet::AsSetOf |
( |
FieldTag | | ) |
const |
◆ AsSetOf() [3/3]
template<typename T >
auto storages::postgres::ResultSet::AsSetOf |
( |
RowTag | | ) |
const |
◆ AsSingleRow() [1/3]
template<typename T >
auto storages::postgres::ResultSet::AsSingleRow |
( |
| ) |
const |
◆ AsSingleRow() [2/3]
template<typename T >
auto storages::postgres::ResultSet::AsSingleRow |
( |
FieldTag | | ) |
const |
◆ AsSingleRow() [3/3]
template<typename T >
auto storages::postgres::ResultSet::AsSingleRow |
( |
RowTag | | ) |
const |
◆ begin()
◆ end()
◆ GetRowDescription()
RowDescription storages::postgres::ResultSet::GetRowDescription |
( |
| ) |
const & |
|
inline |
◆ IsEmpty()
bool storages::postgres::ResultSet::IsEmpty |
( |
| ) |
const |
|
inline |
◆ operator[]()
reference storages::postgres::ResultSet::operator[] |
( |
size_type | index | ) |
const & |
Access a row by index.
- Exceptions
-
◆ rbegin()
◆ rend()
◆ ConnectionImpl
friend class ConnectionImpl |
|
friend |
◆ TypedResultSet
template<typename T , typename Tag >
◆ npos
constexpr size_type storages::postgres::ResultSet::npos = std::numeric_limits<size_type>::max() |
|
staticconstexpr |
The documentation for this class was generated from the following file: