1#ifndef ITEM_INETFUNC_INCLUDED
2#define ITEM_INETFUNC_INCLUDED
49 const char *
func_name()
const override {
return "inet_aton"; }
71 const char *
func_name()
const override {
return "inet_ntoa"; }
127 const char *
func_name()
const override {
return "inet6_aton"; }
150 const char *
func_name()
const override {
return "inet6_ntoa"; }
177 const char *
func_name()
const override {
return "is_ipv4"; }
193 const char *
func_name()
const override {
return "is_ipv6"; }
209 const char *
func_name()
const override {
return "is_ipv4_compat"; }
225 const char *
func_name()
const override {
return "is_ipv4_mapped"; }
Definition: item_cmpfunc.h:292
Definition: item_inetfunc.h:121
const char * func_name() const override
Definition: item_inetfunc.h:127
Item_func_inet6_aton(const POS &pos, Item *ip_addr)
Definition: item_inetfunc.h:123
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_inetfunc.h:129
bool calc_value(String *arg, String *buffer) override
Converts IP-address-string to IP-address-data.
Definition: item_inetfunc.cc:694
Definition: item_inetfunc.h:144
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_inetfunc.h:152
bool calc_value(String *arg, String *buffer) override
Converts IP-address-data to IP-address-string.
Definition: item_inetfunc.cc:731
Item_func_inet6_ntoa(const POS &pos, Item *ip_addr)
Definition: item_inetfunc.h:146
const char * func_name() const override
Definition: item_inetfunc.h:150
Definition: item_inetfunc.h:41
const char * func_name() const override
Definition: item_inetfunc.h:49
Item_func_inet_aton(const POS &pos, Item *arg)
Definition: item_inetfunc.h:43
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_inetfunc.h:51
longlong val_int() override
Definition: item_inetfunc.cc:58
Definition: item_inetfunc.h:86
longlong val_int() override
Check the function argument, handle errors properly.
Definition: item_inetfunc.cc:194
virtual bool calc_value(const String *arg) const =0
Item_func_inet_bool_base(const POS &pos, Item *ip_addr)
Definition: item_inetfunc.h:88
Definition: item_inetfunc.h:63
Item_func_inet_ntoa(const POS &pos, Item *arg)
Definition: item_inetfunc.h:65
String * val_str(String *str) override
Definition: item_inetfunc.cc:130
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_inetfunc.h:73
const char * func_name() const override
Definition: item_inetfunc.h:71
Definition: item_inetfunc.h:105
virtual bool calc_value(String *arg, String *buffer)=0
String * val_str_ascii(String *buffer) override
Check the function argument, handle errors properly.
Definition: item_inetfunc.cc:223
Item_func_inet_str_base(const POS &pos, Item *arg)
Definition: item_inetfunc.h:107
Definition: item_inetfunc.h:203
Item_func_is_ipv4_compat(const POS &pos, Item *ip_addr)
Definition: item_inetfunc.h:205
const char * func_name() const override
Definition: item_inetfunc.h:209
bool calc_value(const String *arg) const override
Checks if the passed IPv6-address is an IPv4-compat IPv6-address.
Definition: item_inetfunc.cc:806
Definition: item_inetfunc.h:219
bool calc_value(const String *arg) const override
Checks if the passed IPv6-address is an IPv4-mapped IPv6-address.
Definition: item_inetfunc.cc:827
Item_func_is_ipv4_mapped(const POS &pos, Item *ip_addr)
Definition: item_inetfunc.h:221
const char * func_name() const override
Definition: item_inetfunc.h:225
Definition: item_inetfunc.h:171
Item_func_is_ipv4(const POS &pos, Item *ip_addr)
Definition: item_inetfunc.h:173
bool calc_value(const String *arg) const override
Checks if the passed string represents an IPv4-address.
Definition: item_inetfunc.cc:770
const char * func_name() const override
Definition: item_inetfunc.h:177
Definition: item_inetfunc.h:187
Item_func_is_ipv6(const POS &pos, Item *ip_addr)
Definition: item_inetfunc.h:189
const char * func_name() const override
Definition: item_inetfunc.h:193
bool calc_value(const String *arg) const override
Checks if the passed string represents an IPv6-address.
Definition: item_inetfunc.cc:788
bool param_type_is_default(THD *thd, uint start, uint end, uint step, enum_field_types def)
For arguments of this Item_func ("args" array), in range [start, start+step, start+2*step,...
Definition: item_func.cc:524
Definition: item_func.h:941
Definition: item_strfunc.h:147
Definition: item_strfunc.h:75
Base class that is used to represent any kind of expression in a relational query.
Definition: item.h:853
void set_nullable(bool nullable)
Definition: item.h:3528
static const CHARSET_INFO * default_charset()
Definition: item.cc:1772
bool null_value
True if item is null.
Definition: item.h:3553
bool unsigned_flag
Definition: item.h:3554
void set_data_type_string(uint32 max_l)
Set the Item to be variable length string.
Definition: item.h:1508
Using this class is fraught with peril, and you need to be very careful when doing so.
Definition: sql_string.h:166
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:33
@ MYSQL_TYPE_LONGLONG
Definition: field_types.h:63
A better implementation of the UNIX ctype(3) library.
MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_bin
Definition: ctype-bin.cc:508
Some integer typedefs for easier portability.
long long int longlong
Definition: my_inttypes.h:54
std::string str(const mysqlrouter::ConfigGenerator::Options::Endpoint &ep)
Definition: config_generator.cc:1063
mutable_buffer buffer(void *p, size_t n) noexcept
Definition: buffer.h:419
Bison "location" class.
Definition: parse_location.h:42