26#ifndef ROUTER_SRC_MYSQL_REST_SERVICE_SRC_COLLECTOR_MYSQL_SQL_SESSION_H_
27#define ROUTER_SRC_MYSQL_REST_SERVICE_SRC_COLLECTOR_MYSQL_SQL_SESSION_H_
40 using Sqls = std::vector<std::string>;
80 const std::string &username,
86 unsigned long extra_client_flags = 0)
override;
90 const std::string &db)
override;
91 void reset()
override;
94 uint64_t ps_id, std::vector<MYSQL_BIND> bind_parameters,
100 const std::string &
query)
override;
105 std::unique_ptr<MySQLSession::ResultRow>
query_one(
106 const std::string &
query,
108 std::unique_ptr<MySQLSession::ResultRow>
query_one(
109 const std::string &
query)
override;
Definition: counted_mysql_session.h:38
~CountedMySQLSession() override
Definition: counted_mysql_session.cc:94
void prepare_remove(uint64_t ps_id) override
Definition: counted_mysql_session.cc:215
std::vector< std::string > Sqls
Definition: counted_mysql_session.h:40
void query(const std::string &query, const ResultRowProcessor &processor, const FieldValidator &validator) override
Definition: counted_mysql_session.cc:225
virtual void connect_and_set_opts(const ConnectionParameters &connection_params, const Sqls &initial_sqls)
Definition: counted_mysql_session.cc:117
Sqls initial_sqls_
Definition: counted_mysql_session.h:114
virtual Sqls get_initial_sqls() const
Definition: counted_mysql_session.cc:113
void connect(const MySQLSession &other, const std::string &username, const mysql_harness::SecureString &password) override
Definition: counted_mysql_session.cc:176
virtual void execute_initial_sqls()
Definition: counted_mysql_session.cc:107
void execute(const std::string &query) override
Definition: counted_mysql_session.cc:220
uint64_t prepare(const std::string &query) override
Definition: counted_mysql_session.cc:201
void reset() override
Definition: counted_mysql_session.cc:199
std::unique_ptr< MySQLSession::ResultRow > query_one(const std::string &query, const FieldValidator &validator) override
Definition: counted_mysql_session.cc:232
ConnectionParameters connection_params_
Definition: counted_mysql_session.h:112
void prepare_execute_with_bind_parameters(uint64_t ps_id, std::vector< MYSQL_BIND > bind_parameters, const ResultRowProcessor &processor, const FieldValidator &validator, const OnResultSetEnd &on_resultset_end) override
Definition: counted_mysql_session.cc:206
bool reconnect_at_next_query_
Definition: counted_mysql_session.h:113
virtual void allow_failure_at_next_query()
Definition: counted_mysql_session.cc:98
virtual ConnectionParameters get_connection_parameters() const
Definition: counted_mysql_session.cc:103
void change_user(const std::string &user, const mysql_harness::SecureString &password, const std::string &db) override
Definition: counted_mysql_session.cc:189
CountedMySQLSession()
Definition: counted_mysql_session.cc:90
Definition: destination.h:95
Definition: destination.h:40
Null-terminated string which is securely wiped on destruction.
Definition: secure_string.h:59
Definition: mysql_session.h:157
std::function< void(unsigned, MYSQL_FIELD *)> FieldValidator
Definition: mysql_session.h:166
std::function< bool(const ResultRow &)> ResultRowProcessor
Definition: mysql_session.h:164
unsigned int port
Definition: mysql_session.h:522
int connect_timeout() const
Definition: mysql_session.cc:338
std::function< void()> OnResultSetEnd
Definition: mysql_session.h:167
std::string default_schema
Definition: mysql_session.h:524
std::string host
Definition: mysql_session.h:521
static constexpr int kDefaultReadTimeout
Definition: mysql_session.h:160
std::string unix_socket
Definition: mysql_session.h:523
int read_timeout() const
Definition: mysql_session.cc:347
static constexpr int kDefaultConnectTimeout
Definition: mysql_session.h:159
mysql_ssl_mode
Definition: mysql.h:272
static char * password
Definition: mysql_secure_installation.cc:58
Definition: cache_manager.h:33
collector::CountedMySQLSession::ConnectionParameters ConnectionParameters
Definition: query_retry_on_ro.cc:38
Definition: counted_mysql_session.h:55
std::string username
Definition: counted_mysql_session.h:58
mysql_harness::Destination destination
Definition: counted_mysql_session.h:56
std::string default_schema
Definition: counted_mysql_session.h:60
mysql_harness::SecureString password
Definition: counted_mysql_session.h:59
int read_timeout
Definition: counted_mysql_session.h:62
int connect_timeout
Definition: counted_mysql_session.h:61
unsigned long extra_client_flags
Definition: counted_mysql_session.h:63
Definition: counted_mysql_session.h:51
std::string cert
Definition: counted_mysql_session.h:52
std::string key
Definition: counted_mysql_session.h:53
Definition: counted_mysql_session.h:42
std::string ssl_cipher
Definition: counted_mysql_session.h:45
std::string tls_version
Definition: counted_mysql_session.h:44
std::string crl
Definition: counted_mysql_session.h:48
std::string capath
Definition: counted_mysql_session.h:47
std::string crlpath
Definition: counted_mysql_session.h:49
std::string ca
Definition: counted_mysql_session.h:46
mysql_ssl_mode ssl_mode
Definition: counted_mysql_session.h:43
Definition: counted_mysql_session.h:41
struct collector::CountedMySQLSession::ConnectionParameters::SslCert ssl_cert
struct collector::CountedMySQLSession::ConnectionParameters::SslOptions ssl_opts
struct collector::CountedMySQLSession::ConnectionParameters::ConnOptions conn_opts