![]() |
MySQL 8.0.43
Source Code Documentation
|
#include <mysql_session.h>
Classes | |
| class | Error |
| struct | LoggingStrategy |
| struct | LoggingStrategyDebugLogger |
| struct | LoggingStrategyNone |
| class | MYSQL_RES_Deleter |
| class | ResultRow |
| class | Transaction |
Public Member Functions | |
| MySQLSession (std::unique_ptr< LoggingStrategy > logging_strategy=std::make_unique< LoggingStrategyNone >()) | |
| virtual | ~MySQLSession () |
| virtual void | set_ssl_options (mysql_ssl_mode ssl_mode, const std::string &tls_version, const std::string &ssl_cipher, const std::string &ca, const std::string &capath, const std::string &crl, const std::string &crlpath) |
| mysql_ssl_mode | ssl_mode () const |
| std::string | tls_version () const |
| std::string | ssl_cipher () const |
| std::string | ssl_ca () const |
| std::string | ssl_capath () const |
| std::string | ssl_crl () const |
| std::string | ssl_crlpath () const |
| std::string | ssl_cert () const |
| std::string | ssl_key () const |
| int | connect_timeout () const |
| int | read_timeout () const |
| virtual void | set_ssl_cert (const std::string &cert, const std::string &key) |
| template<class SettableMysqlOption > | |
| stdx::expected< void, MysqlError > | set_option (const SettableMysqlOption &opt) |
| set a mysql option. More... | |
| template<class GettableMysqlOption > | |
| bool | get_option (GettableMysqlOption &opt) const |
| get a mysql option. More... | |
| virtual void | connect (const std::string &host, unsigned int port, const std::string &username, const std::string &password, const std::string &unix_socket, const std::string &default_schema, int connect_timeout=kDefaultConnectTimeout, int read_timeout=kDefaultReadTimeout) |
| virtual void | disconnect () |
| virtual void | connect (const MySQLSession &other, const std::string &username, const std::string &password) |
| Connect using the same settings and parameters that were used for the last other.connect() using provided credentials. More... | |
| virtual void | execute (const std::string &query) |
| virtual void | query (const std::string &query, const RowProcessor &processor, const FieldValidator &validator) |
| virtual std::unique_ptr< MySQLSession::ResultRow > | query_one (const std::string &query, const FieldValidator &validator) |
| void | query (const std::string &stmt, const RowProcessor &processor) |
| std::unique_ptr< MySQLSession::ResultRow > | query_one (const std::string &stmt) |
| virtual uint64_t | last_insert_id () noexcept |
| virtual unsigned | warning_count () noexcept |
| virtual std::string | quote (const std::string &s, char qchar='\'') const |
| virtual bool | is_connected () noexcept |
| const std::string & | get_address () noexcept |
| virtual const char * | last_error () |
| virtual unsigned int | last_errno () |
| virtual const char * | ssl_cipher () |
| virtual unsigned long | server_version () |
Static Public Member Functions | |
| static mysql_ssl_mode | parse_ssl_mode (std::string ssl_mode) |
| static const char * | ssl_mode_to_string (mysql_ssl_mode ssl_mode) noexcept |
Static Public Attributes | |
| static constexpr int | kDefaultConnectTimeout = 5 |
| static constexpr int | kDefaultReadTimeout = 30 |
| static const char | kSslModeDisabled [] = "DISABLED" |
| static const char | kSslModePreferred [] = "PREFERRED" |
| static const char | kSslModeRequired [] = "REQUIRED" |
| static const char | kSslModeVerifyCa [] = "VERIFY_CA" |
| static const char | kSslModeVerifyIdentity [] |
Protected Attributes | |
| std::unique_ptr< LoggingStrategy > | logging_strategy_ |
Private Types | |
| using | mysql_result_type = std::unique_ptr< MYSQL_RES, MYSQL_RES_Deleter > |
Private Member Functions | |
| virtual MYSQL * | raw_mysql () noexcept |
| stdx::expected< mysql_result_type, MysqlError > | real_query (const std::string &q) |
| run query. More... | |
| stdx::expected< mysql_result_type, MysqlError > | logged_real_query (const std::string &q) |
| log query before running it. More... | |
Private Attributes | |
| struct { | |
| std::string host | |
| unsigned int port {} | |
| std::string unix_socket | |
| std::string default_schema | |
| } | connect_params_ |
| MYSQL * | connection_ |
| bool | connected_ |
| std::string | connection_address_ |
| SQLLogFilter | log_filter_ |
| using mysqlrouter::MySQLSession::BooleanOption = impl::Option<Opt, bool> |
| using mysqlrouter::MySQLSession::CanHandleExpiredPasswords = BooleanOption<MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS> |
| using mysqlrouter::MySQLSession::CompressionAlgorithms = ConstCharOption<MYSQL_OPT_COMPRESSION_ALGORITHMS> |
| using mysqlrouter::MySQLSession::ConnectAttributeDelete = BooleanOption<MYSQL_OPT_CONNECT_ATTR_DELETE> |
| using mysqlrouter::MySQLSession::ConnectAttributeReset = BooleanOption<MYSQL_OPT_CONNECT_ATTR_RESET> |
| using mysqlrouter::MySQLSession::ConstCharOption = impl::Option<Opt, const char *> |
| using mysqlrouter::MySQLSession::EnableCleartextPlugin = BooleanOption<MYSQL_ENABLE_CLEARTEXT_PLUGIN> |
| typedef std::function<void(unsigned, MYSQL_FIELD *)> mysqlrouter::MySQLSession::FieldValidator |
| using mysqlrouter::MySQLSession::GetServerPublicKey = BooleanOption<MYSQL_OPT_GET_SERVER_PUBLIC_KEY> |
| using mysqlrouter::MySQLSession::IntegerOption = impl::Option<Opt, unsigned int> |
| using mysqlrouter::MySQLSession::LongOption = impl::Option<Opt, unsigned long> |
|
private |
| using mysqlrouter::MySQLSession::OptionalResultsetMetadata = BooleanOption<MYSQL_OPT_OPTIONAL_RESULTSET_METADATA> |
| typedef std::vector<const char *> mysqlrouter::MySQLSession::Row |
| typedef std::function<bool(const Row &)> mysqlrouter::MySQLSession::RowProcessor |
| using mysqlrouter::MySQLSession::SharedMemoryBasename = ConstCharOption<MYSQL_SHARED_MEMORY_BASE_NAME> |
| using mysqlrouter::MySQLSession::ZstdCompressionLevel = IntegerOption<MYSQL_OPT_ZSTD_COMPRESSION_LEVEL> |
| MySQLSession::MySQLSession | ( | std::unique_ptr< LoggingStrategy > | logging_strategy = std::make_unique<LoggingStrategyNone>() | ) |
|
virtual |
|
virtual |
Connect using the same settings and parameters that were used for the last other.connect() using provided credentials.
|
virtual |
| int MySQLSession::connect_timeout | ( | ) | const |
|
virtual |
|
virtual |
|
inlinenoexcept |
|
inline |
get a mysql option.
| [in,out] | opt | option to query. |
| true | on success. |
| false | if option is not known. |
|
inlinevirtualnoexcept |
|
virtual |
|
virtual |
|
virtualnoexcept |
|
private |
log query before running it.
|
static |
|
virtual |
|
inline |
|
virtual |
|
inline |
|
virtual |
|
inlineprivatevirtualnoexcept |
| int MySQLSession::read_timeout | ( | ) | const |
|
private |
run query.
There are 3 cases:
| q | stmt to execute |
|
virtual |
|
inline |
set a mysql option.
| [in] | opt | option to set. |
| true | on success |
|
virtual |
|
virtual |
| std::string MySQLSession::ssl_ca | ( | ) | const |
| std::string MySQLSession::ssl_capath | ( | ) | const |
| std::string MySQLSession::ssl_cert | ( | ) | const |
|
virtual |
| std::string MySQLSession::ssl_cipher | ( | ) | const |
| std::string MySQLSession::ssl_crl | ( | ) | const |
| std::string MySQLSession::ssl_crlpath | ( | ) | const |
| std::string MySQLSession::ssl_key | ( | ) | const |
| mysql_ssl_mode MySQLSession::ssl_mode | ( | ) | const |
|
staticnoexcept |
| std::string MySQLSession::tls_version | ( | ) | const |
|
virtualnoexcept |
| struct { ... } mysqlrouter::MySQLSession::connect_params_ |
|
private |
|
private |
|
private |
| std::string mysqlrouter::MySQLSession::default_schema |
| std::string mysqlrouter::MySQLSession::host |
|
staticconstexpr |
|
staticconstexpr |
|
static |
|
static |
|
static |
|
static |
|
static |
|
private |
|
protected |
| unsigned int mysqlrouter::MySQLSession::port {} |
| std::string mysqlrouter::MySQLSession::unix_socket |