MySQL 9.3.0
Source Code Documentation
mrs::database::MysqlBind Class Reference

#include <bind.h>

Public Types

using Mode = mrs::database::entry::Field::Mode
 
using DataType = mrs::database::entry::ColumnType
 

Public Member Functions

void fill_mysql_bind_for_out (DataType data_type)
 
template<typename Value >
void fill_mysql_bind_for_inout (const Value &value_with_user_type, DataType data_type)
 
void fill_null_as_inout (DataType data_type)
 

Public Attributes

std::vector< MYSQL_BINDparameters
 

Private Member Functions

void fill_mysql_bind_inout_vector (const rapidjson::Value &value)
 
void fill_mysql_bind_inout_vector (const std::string &value)
 
void fill_mysql_bind_impl (const std::string &value_with_user_type, DataType data_type)
 
MYSQL_BINDallocate_for_blob (const std::string &value)
 
MYSQL_BINDallocate_for_string (const std::string &value)
 
MYSQL_BINDallocate_for (const std::string &value)
 
MYSQL_BINDallocate_bind_buffer (DataType data_type)
 

Static Private Member Functions

static enum_field_types to_mysql_type (DataType pdt)
 
static const std::string & to_string (const std::string &value)
 
static std::string to_string (const rapidjson::Value &value)
 
static bool is_null (const std::string &value)
 
static bool is_null (const rapidjson::Value &value)
 

Private Attributes

std::vector< std::unique_ptr< char[]> > buffers_
 
std::vector< std::unique_ptr< unsigned long > > lengths_
 
std::vector< std::unique_ptr< bool > > nulls_
 

Member Typedef Documentation

◆ DataType

◆ Mode

using mrs::database::MysqlBind::Mode = mrs::database::entry::Field::Mode

Member Function Documentation

◆ allocate_bind_buffer()

MYSQL_BIND * mrs::database::MysqlBind::allocate_bind_buffer ( DataType  data_type)
private

◆ allocate_for()

MYSQL_BIND * mrs::database::MysqlBind::allocate_for ( const std::string &  value)
private

◆ allocate_for_blob()

MYSQL_BIND * mrs::database::MysqlBind::allocate_for_blob ( const std::string &  value)
private

◆ allocate_for_string()

MYSQL_BIND * mrs::database::MysqlBind::allocate_for_string ( const std::string &  value)
private

◆ fill_mysql_bind_for_inout()

template<typename Value >
void mrs::database::MysqlBind::fill_mysql_bind_for_inout ( const Value value_with_user_type,
DataType  data_type 
)
inline

◆ fill_mysql_bind_for_out()

void mrs::database::MysqlBind::fill_mysql_bind_for_out ( DataType  data_type)

◆ fill_mysql_bind_impl()

void mrs::database::MysqlBind::fill_mysql_bind_impl ( const std::string &  value_with_user_type,
DataType  data_type 
)
private

◆ fill_mysql_bind_inout_vector() [1/2]

void mrs::database::MysqlBind::fill_mysql_bind_inout_vector ( const rapidjson::Value &  value)
private

◆ fill_mysql_bind_inout_vector() [2/2]

void mrs::database::MysqlBind::fill_mysql_bind_inout_vector ( const std::string &  value)
private

◆ fill_null_as_inout()

void mrs::database::MysqlBind::fill_null_as_inout ( DataType  data_type)

◆ is_null() [1/2]

bool mrs::database::MysqlBind::is_null ( const rapidjson::Value &  value)
staticprivate

◆ is_null() [2/2]

bool mrs::database::MysqlBind::is_null ( const std::string &  value)
staticprivate

◆ to_mysql_type()

enum_field_types mrs::database::MysqlBind::to_mysql_type ( DataType  pdt)
staticprivate

◆ to_string() [1/2]

std::string mrs::database::MysqlBind::to_string ( const rapidjson::Value &  value)
staticprivate

◆ to_string() [2/2]

const std::string & mrs::database::MysqlBind::to_string ( const std::string &  value)
staticprivate

Member Data Documentation

◆ buffers_

std::vector<std::unique_ptr<char[]> > mrs::database::MysqlBind::buffers_
private

◆ lengths_

std::vector<std::unique_ptr<unsigned long> > mrs::database::MysqlBind::lengths_
private

◆ nulls_

std::vector<std::unique_ptr<bool> > mrs::database::MysqlBind::nulls_
private

◆ parameters

std::vector<MYSQL_BIND> mrs::database::MysqlBind::parameters

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