static_results, static_execution_state

This commit is contained in:
Ruben Perez 2025-02-01 00:14:55 +01:00
parent 66a819c616
commit fb13a086f0
3 changed files with 4 additions and 12 deletions

View File

@ -263,10 +263,6 @@ BOOST_INLINE_CONSTEXPR std::array<results_resultset_descriptor, sizeof...(Static
mp11::make_index_sequence<sizeof...(StaticRow)>() mp11::make_index_sequence<sizeof...(StaticRow)>()
); );
template <std::size_t I, class... StaticRow>
using rows_span_t = boost::span<
const typename std::tuple_element<I, std::tuple<underlying_row_t<StaticRow>...>>::type>;
template <BOOST_MYSQL_STATIC_ROW... StaticRow> template <BOOST_MYSQL_STATIC_ROW... StaticRow>
class static_results_impl class static_results_impl
{ {
@ -331,7 +327,7 @@ public:
// User facing // User facing
template <std::size_t I> template <std::size_t I>
rows_span_t<I, StaticRow...> get_rows() const noexcept span<const std::tuple_element_t<I, std::tuple<underlying_row_t<StaticRow>...>>> get_rows() const noexcept
{ {
return std::get<I>(data_.rows); return std::get<I>(data_.rows);
} }

View File

@ -161,6 +161,7 @@ public:
/** /**
* \brief Returns the number of rows affected by the SQL statement associated to this resultset. * \brief Returns the number of rows affected by the SQL statement associated to this resultset.
* \details
* Note that this is NOT the number of matched rows. If a row * Note that this is NOT the number of matched rows. If a row
* is matched but not affected, it won't be accounted for here. * is matched but not affected, it won't be accounted for here.
* *

View File

@ -108,7 +108,7 @@ public:
bool has_value() const noexcept { return impl_.get_interface().is_complete(); } bool has_value() const noexcept { return impl_.get_interface().is_complete(); }
/** /**
* \brief Returns the rows retrieved by the SQL query (TODO: see this). * \brief Returns the rows retrieved by the SQL query.
* \details * \details
* *
* \tparam I Resultset index. For operations returning more than one resultset, you can explicitly * \tparam I Resultset index. For operations returning more than one resultset, you can explicitly
@ -132,12 +132,7 @@ public:
* Constant. * Constant.
*/ */
template <std::size_t I = 0> template <std::size_t I = 0>
// #ifdef BOOST_MYSQL_DOXYGEN span<const std::tuple_element_t<I, std::tuple<underlying_row_t<StaticRow>...>>> rows() const noexcept
// boost::span<const StaticRow... [I]>
// #else
detail::rows_span_t<I, StaticRow...>
// #endif
rows() const noexcept
{ {
static_assert(I < sizeof...(StaticRow), "Index I out of range"); static_assert(I < sizeof...(StaticRow), "Index I out of range");
BOOST_ASSERT(has_value()); BOOST_ASSERT(has_value());