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_
34#include "mysqlrouter/jit_executor_plugin_export.h"
83class JIT_EXECUTOR_PLUGIN_EXPORT
IRow {
98 virtual std::wstring get_wstring(uint32_t
index)
const;
104 uint32_t
index)
const = 0;
106 size_t *out_size)
const = 0;
110 const std::string &default_if_null)
const {
112 return get_as_string(
index);
116 const std::string &default_if_null)
const {
122 const std::wstring &default_if_null)
const {
124 return get_wstring(
index);
127 inline int64_t
get_int(uint32_t
index, int64_t default_if_null)
const {
129 return get_int(
index);
134 return get_uint(
index);
139 return get_double(
index);
173 virtual const std::vector<std::string> &
get_gtids()
const = 0;
175 virtual const std::vector<std::shared_ptr<IColumn>> &
get_metadata()
const = 0;
184 double m_execution_time = 0.0;
189 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:58
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:152
virtual const std::vector< std::string > & get_gtids() const =0
double get_execution_time() const
Definition: jit_executor_db_interface.h:155
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:176
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:156
Definition: jit_executor_db_interface.h:83
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:109
double get_double(uint32_t index, double default_if_null) const
Definition: jit_executor_db_interface.h:137
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:115
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:132
int64_t get_int(uint32_t index, int64_t default_if_null) const
Definition: jit_executor_db_interface.h:127
std::wstring get_wstring(uint32_t index, const std::wstring &default_if_null) const
Definition: jit_executor_db_interface.h:121
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:187
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:6454
bool index(const std::string &value, const String &search_for, uint32_t *idx)
Definition: contains.h:76
Type
Definition: jit_executor_db_interface.h:38
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:145
Level level
Definition: jit_executor_db_interface.h:147
std::string msg
Definition: jit_executor_db_interface.h:148
uint32_t code
Definition: jit_executor_db_interface.h:149
Level
Definition: jit_executor_db_interface.h:146