26#ifndef ROUTER_SRC_JIT_EXECUTOR_SRC_DATABASE_QUERY_ATTRIBUTES_H_
27#define ROUTER_SRC_JIT_EXECUTOR_SRC_DATABASE_QUERY_ATTRIBUTES_H_
56 *
this = std::move(other);
97 std::unique_ptr<IQuery_attribute_value> v)
noexcept;
100 std::unique_ptr<IQuery_attribute_value>
value;
122 const std::function<std::unique_ptr<IQuery_attribute_value>(
127 std::unordered_map<std::string, shcore::Value>
m_store;
Cache for query attributes to be associated to the next user SQL executed.
Definition: query_attributes.h:115
void clear()
Definition: query_attributes.cc:266
std::vector< std::string > m_unsupported_type
Definition: query_attributes.h:136
std::vector< std::string > m_exceeded
Definition: query_attributes.h:133
std::unordered_map< std::string, shcore::Value > m_store
Definition: query_attributes.h:127
std::vector< std::string > m_order
Definition: query_attributes.h:130
std::vector< Query_attribute > get_query_attributes(const std::function< std::unique_ptr< IQuery_attribute_value >(const shcore::Value &)> &translator_cb) const
Definition: query_attributes.cc:275
std::vector< std::string > m_invalid_names
Definition: query_attributes.h:134
bool set(const std::string &name, const shcore::Value &value)
Definition: query_attributes.cc:158
std::vector< std::string > m_invalid_value_length
Definition: query_attributes.h:135
void handle_errors(bool raise_error=true)
Definition: query_attributes.cc:223
This file contains the field type.
enum_field_types
Column types for MySQL Note: Keep include/mysql/components/services/bits/stored_program_bits....
Definition: field_types.h:55
@ MYSQL_TYPE_NULL
Definition: field_types.h:62
ValueType value(const std::optional< ValueType > &v)
Definition: gtid.h:83
Definition: file_system_exceptions.h:34
Value::Map_type_ref Dictionary_t
Definition: jit_executor_value.h:430
Definition: gcs_xcom_synode.h:64
case opt name
Definition: sslopt-case.h:29
Definition: mysql_time.h:82
Pointer to a function that may be implemented in any language.
Definition: jit_executor_value.h:130
Definition: query_attributes.h:46
int flags
Definition: query_attributes.h:83
void * data_ptr
Definition: query_attributes.h:80
void update_data_ptr()
Definition: query_attributes.cc:97
double d
Definition: query_attributes.h:75
MYSQL_TIME t
Definition: query_attributes.h:76
bool is_null
Definition: query_attributes.h:82
~Classic_query_attribute()
Definition: query_attributes.cc:91
uint64_t ui
Definition: query_attributes.h:73
unsigned long size
Definition: query_attributes.h:81
std::string * s
Definition: query_attributes.h:74
union shcore::polyglot::database::Classic_query_attribute::@35 value
Classic_query_attribute(const Classic_query_attribute &other)
Definition: query_attributes.h:59
Classic_query_attribute & operator=(const Classic_query_attribute &other)
Definition: query_attributes.cc:121
Classic_query_attribute() noexcept
enum_field_types type
Definition: query_attributes.h:79
int64_t i
Definition: query_attributes.h:72
Definition: query_attributes.h:42
virtual ~IQuery_attribute_value()=default
Normalized query attribute.
Definition: query_attributes.h:95
Query_attribute(std::string n, std::unique_ptr< IQuery_attribute_value > v) noexcept
Definition: query_attributes.cc:43
std::unique_ptr< IQuery_attribute_value > value
Definition: query_attributes.h:100
std::string name
Definition: query_attributes.h:99
int n
Definition: xcom_base.cc:509