MySQL 9.7.0
Source Code Documentation
Is_packet_based_table_with_cursor_implementation Concept Reference

Concept that identifies classes that correctly implement the requirements for classes used to implement Packet_based_table_with_cursor . More...

#include <packet_based_table_with_cursor.h>

Concept definition

template<class Impl_tp>
requires(const Impl_tp const_impl) {
{
const_impl.get_row_view_definition()
{ const_impl.get_table_name() } -> std::same_as<const char *>;
{ const_impl.get_table_definition() } -> std::same_as<const char *>;
} &&
requires(
Impl_tp impl,
table) {
{
impl.get_table_data()
}
Impl_tp>::Table_t>;
{ impl.free_table_data(table) };
}
Ownership-agnostic array class, which is both trivial and standard-layout.
Definition: array_view.h:53
Concept that identifies classes that correctly implement the requirements for classes used to impleme...
Definition: packet_based_table_with_cursor.h:111
True if Type is a const reference to a specialization of Row_view_definition.
Definition: packet_based_table_with_cursor.h:56
static PFS_engine_table_share_proxy table
Definition: pfs.cc:61
Definition: http_server_component.cc:34
Aggregates type definitions and constants for a given typecode enum, end element of that enum,...
Definition: row_proxy.h:96

Detailed Description

Concept that identifies classes that correctly implement the requirements for classes used to implement Packet_based_table_with_cursor .

In order to satisfy the concept, classes must define the following member functions:

  • get_table_data() -> mysql::abi_helpers::Packet_array<Typecode_tp>: Will be called from the constructor and must return the table data as an array of packets.
  • free_table_data(mysql::abi_helpers::Packet_array<Typecode_tp>): Will be called from the destructor and must release any memory that was allocated in get_table.
  • static get_row_view_definition() -> const Row_view_definition<...> &: must return a const reference to a specialization of Row_view_definition. The returned object determines how the table data will be converted to an SQL table. See Row_proxy. The referenced object must outlive the Packet_based_table_with_cursor object. Typically, the referenced object may reside in static storage, for example as a static local variable in get_row_view_definition.
  • static get_table_name() -> const char *: must return the table name as a string.
  • static get_table_definition() -> const char *: must return the table definition as a string.

tparam Impl_tp The implementation class to test.