26#ifndef ROUTER_SRC_JIT_EXECUTOR_INCLUDE_MYSQLROUTER_JIT_EXECUTOR_MYSQL_SESSION_H_
27#define ROUTER_SRC_JIT_EXECUTOR_INCLUDE_MYSQLROUTER_JIT_EXECUTOR_MYSQL_SESSION_H_
33#include "mysqlrouter/jit_executor_plugin_export.h"
82class JIT_EXECUTOR_PLUGIN_EXPORT
IRow {
97 virtual std::wstring get_wstring(uint32_t
index)
const;
103 uint32_t
index)
const = 0;
105 size_t *out_size)
const = 0;
109 const std::string &default_if_null)
const {
111 return get_as_string(
index);
115 const std::string &default_if_null)
const {
121 const std::wstring &default_if_null)
const {
123 return get_wstring(
index);
126 inline int64_t
get_int(uint32_t
index, int64_t default_if_null)
const {
128 return get_int(
index);
133 return get_uint(
index);
138 return get_double(
index);
172 virtual const std::vector<std::string> &
get_gtids()
const = 0;
174 virtual const std::vector<std::shared_ptr<IColumn>> &
get_metadata()
const = 0;
183 double m_execution_time = 0.0;
188 virtual std::shared_ptr<IResult>
run_sql(
const std::string &sql) = 0;
Class representing an error.
Definition: error.h:48
Definition: jit_executor_db_interface.h:57
virtual uint32_t get_length() const =0
virtual bool is_zerofill() const =0
virtual const std::string & get_column_name() const =0
virtual Type get_type() const =0
virtual ~IColumn()=default
virtual bool is_unsigned() const =0
virtual bool is_binary() const =0
virtual std::string get_dbtype() const =0
virtual bool is_numeric() const =0
virtual const std::string & get_table_label() const =0
virtual int get_fractional() const =0
virtual uint32_t get_collation() const =0
virtual const std::string & get_catalog() const =0
virtual const std::string & get_flags() const =0
virtual const std::string & get_schema() const =0
virtual const std::string & get_column_label() const =0
virtual const std::string & get_table_name() const =0
Definition: jit_executor_db_interface.h:151
virtual const std::vector< std::string > & get_gtids() const =0
double get_execution_time() const
Definition: jit_executor_db_interface.h:154
virtual std::string get_info() const =0
virtual const IRow * fetch_one()=0
virtual bool has_resultset()=0
virtual uint64_t get_warning_count() const =0
virtual int64_t get_auto_increment_value() const =0
virtual std::string get_statement_id() const
Definition: jit_executor_db_interface.h:175
virtual bool next_resultset()=0
virtual const std::vector< std::shared_ptr< IColumn > > & get_metadata() const =0
virtual uint64_t get_fetched_row_count() const =0
virtual std::unique_ptr< Warning > fetch_one_warning()=0
virtual ~IResult()=default
virtual uint64_t get_affected_row_count() const =0
void set_execution_time(double time)
Definition: jit_executor_db_interface.h:155
Definition: jit_executor_db_interface.h:82
virtual void get_raw_data(uint32_t index, const char **out_data, size_t *out_size) const =0
virtual std::string get_string(uint32_t index) const =0
IRow & operator=(const IRow &other)=delete
virtual uint64_t get_uint(uint32_t index) const =0
virtual Type get_type(uint32_t index) const =0
std::string get_as_string(uint32_t index, const std::string &default_if_null) const
Definition: jit_executor_db_interface.h:108
double get_double(uint32_t index, double default_if_null) const
Definition: jit_executor_db_interface.h:136
virtual double get_double(uint32_t index) const =0
virtual std::pair< const char *, size_t > get_string_data(uint32_t index) const =0
IRow & operator=(IRow &&other)=default
std::string get_string(uint32_t index, const std::string &default_if_null) const
Definition: jit_executor_db_interface.h:114
IRow(IRow &&other)=default
virtual std::tuple< uint64_t, int > get_bit(uint32_t index) const =0
virtual bool is_null(uint32_t index) const =0
IRow(const IRow &other)=delete
uint64_t get_uint(uint32_t index, uint64_t default_if_null) const
Definition: jit_executor_db_interface.h:131
int64_t get_int(uint32_t index, int64_t default_if_null) const
Definition: jit_executor_db_interface.h:126
std::wstring get_wstring(uint32_t index, const std::wstring &default_if_null) const
Definition: jit_executor_db_interface.h:120
virtual std::string get_as_string(uint32_t index) const =0
virtual float get_float(uint32_t index) const =0
virtual uint32_t num_fields() const =0
virtual int64_t get_int(uint32_t index) const =0
Definition: jit_executor_db_interface.h:186
virtual ~ISession()=default
virtual std::shared_ptr< IResult > run_sql(const std::string &sql)=0
static char * get_string(char **to_ptr, const char **from_ptr, struct st_command *command)
Definition: mysqltest.cc:6276
bool index(const std::string &value, const String &search_for, uint32_t *idx)
Definition: contains.h:75
Type
Definition: jit_executor_db_interface.h:37
Definition: jit_executor_callbacks.h:36
bool is_null(poly_thread thread, poly_value value)
Definition: jit_executor_type_conversion.cc:46
Definition: jit_executor_db_interface.h:144
Level level
Definition: jit_executor_db_interface.h:146
std::string msg
Definition: jit_executor_db_interface.h:147
uint32_t code
Definition: jit_executor_db_interface.h:148
Level
Definition: jit_executor_db_interface.h:145