1#ifndef ITEM_TIMEFUNC_INCLUDED
2#define ITEM_TIMEFUNC_INCLUDED
71 const char *
func_name()
const override {
return "period_add"; }
81 const char *
func_name()
const override {
return "period_diff"; }
90 const char *
func_name()
const override {
return "to_days"; }
105 const char *
func_name()
const override {
return "to_seconds"; }
113 int *input_version = (
int *)
int_arg;
115 int output_version =
std::max(*input_version, 50500);
116 *input_version = output_version;
131 const char *
func_name()
const override {
return "dayofmonth"; }
167 const char *
func_name()
const override {
return "month"; }
182 const char *
func_name()
const override {
return "monthname"; }
196 const char *
func_name()
const override {
return "dayofyear"; }
209 const char *
func_name()
const override {
return "hour"; }
222 const char *
func_name()
const override {
return "minute"; }
235 const char *
func_name()
const override {
return "quarter"; }
248 const char *
func_name()
const override {
return "second"; }
267 const char *
func_name()
const override {
return "week"; }
277 const char *
func_name()
const override {
return "yearweek"; }
290 const char *
func_name()
const override {
return "year"; }
307 const char *
func_name()
const override {
return "cast_as_year"; }
329 return static_cast<double>(
val_int());
344 return (
odbc_type ?
"dayofweek" :
"weekday");
366 const char *
func_name()
const override {
return "dayname"; }
424 const char *
func_name()
const override {
return "unix_timestamp"; }
465 pointer_cast<Check_function_as_value_generator_parameters *>(p_arg);
477 const char *
func_name()
const override {
return "time_to_sec"; }
570 bool no_conversions)
override;
645 const char *
func_name()
const override {
return "date"; }
881 const char *
func_name()
const override {
return "date_literal"; }
884 uint64_t
hash()
override;
926 const char *
func_name()
const override {
return "time_literal"; }
945 uint64_t
hash()
override;
967 const char *
func_name()
const override {
return "datetime_literal"; }
994 uint64_t
hash()
override;
1024 const char *
func_name()
const override {
return "time_zone"; }
1086 pointer_cast<Check_function_as_value_generator_parameters *>(
1101 const char *
func_name()
const override {
return "curtime"; }
1111 const char *
func_name()
const override {
return "utc_time"; }
1142 pointer_cast<Check_function_as_value_generator_parameters *>(
1156 const char *
func_name()
const override {
return "curdate"; }
1165 const char *
func_name()
const override {
return "utc_date"; }
1177 bool no_conversions)
override;
1206 pointer_cast<Check_function_as_value_generator_parameters *>(
1247 const char *
func_name()
const override {
return "utc_timestamp"; }
1259 const char *
func_name()
const override {
return "sysdate"; }
1278 const char *
func_name()
const override {
return "from_days"; }
1300 bool is_time_format_arg =
false)
1315 const char *
func_name()
const override {
return "from_unixtime"; }
1345 const char *
func_name()
const override {
return "convert_tz"; }
1365 const char *
func_name()
const override {
return "sec_to_time"; }
1393 const char *
func_name()
const override {
return "date_add_interval"; }
1426 const char *
func_name()
const override {
return "extract"; }
1488 const char *
func_name()
const override {
return "cast_as_date"; }
1518 const char *
func_name()
const override {
return "cast_as_time"; }
1557 const char *
func_name()
const override {
return "cast_as_datetime"; }
1580 const char *
func_name()
const override {
return "makedate"; }
1621 const char *
func_name()
const override {
return "add_time"; }
1630 const char *
func_name()
const override {
return "timediff"; }
1664 const char *
func_name()
const override {
return "maketime"; }
1673 const char *
func_name()
const override {
return "microsecond"; }
1689 const char *
func_name()
const override {
return "timestampdiff"; }
1718 const char *
func_name()
const override {
return "get_format"; }
1752 const char *
func_name()
const override {
return "str_to_date"; }
1761 const char *
func_name()
const override {
return "last_day"; }
1777 const char *
func_name()
const override {
return "internal_update_time"; }
1788 const char *
func_name()
const override {
return "internal_check_time"; }
Kerberos Client Authentication nullptr
Definition: auth_kerberos_client_plugin.cc:247
void set_numeric()
Definition: item.h:219
const CHARSET_INFO * collation
Definition: item.h:185
Definition: my_temporal.h:395
Definition: my_temporal.h:339
Implementation class for the DATE_ADD and DATE_SUB functions.
Definition: item_timefunc.h:1376
enum Functype functype() const override
Definition: item_timefunc.h:1394
void print(const THD *thd, String *str, enum_query_type query_type) const override
This method is used for to:
Definition: item_timefunc.cc:2948
const bool m_subtract
False if function is DATE_ADD, true if function is DATE_SUB.
Definition: item_timefunc.h:1413
bool eq_specific(const Item *item) const override
Provide a more specific equality check for a function.
Definition: item_timefunc.cc:2915
Item_temporal_hybrid_func super
Definition: item_timefunc.h:1377
const char * func_name() const override
Definition: item_timefunc.h:1393
bool is_subtract() const
Definition: item_timefunc.h:1400
void add_json_info(Json_object *obj) override
Add all the node-specific json fields.
Definition: item_timefunc.cc:2959
bool eval_time(Time_val *time) override
Evaluate temporal expression as time value.
Definition: item_timefunc.cc:2891
bool eval_datetime(Datetime_val *dt, my_time_flags_t flags) override
Evaluate temporal expression as datetime value.
Definition: item_timefunc.cc:2909
bool resolve_type(THD *) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:2765
const interval_type m_interval_type
The type of the interval argument.
Definition: item_timefunc.h:1411
Item_date_add_interval(Item *a, Item *b, interval_type type, bool subtract)
POS-less ctor for post-parse construction with implicit addition to THD's free_list (see Item::Item()...
Definition: item_timefunc.h:1389
interval_type get_interval_type() const
Definition: item_timefunc.h:1399
String value
Definition: item_timefunc.h:1414
bool get_datetime_internal(Datetime_val *dt, my_time_flags_t flags)
Definition: item_timefunc.cc:2857
Item_date_add_interval(const POS &pos, Item *a, Item *b, interval_type type, bool subtract)
Definition: item_timefunc.h:1380
Abstract class for functions returning DATE values.
Definition: item_timefunc.h:621
double val_real() override
Definition: item_timefunc.h:644
bool val_date(Date_val *date, my_time_flags_t flags) override=0
Evaluate the item and return result as a date value.
const char * func_name() const override
Definition: item_timefunc.h:645
bool resolve_type(THD *) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.h:647
bool val_time(Time_val *time) override
Evaluate the item and return result as a time value.
Definition: item_timefunc.h:640
enum Functype functype() const override
Definition: item_timefunc.h:646
Item_date_func(const POS &pos)
Definition: item_timefunc.h:629
Item_date_func()
Definition: item_timefunc.h:628
Item_date_func(Item *a)
Definition: item_timefunc.h:632
Item_date_func(const POS &pos, Item *a, Item *b)
Definition: item_timefunc.h:636
longlong val_date_temporal() override
Return date value of item in packed longlong format.
Definition: item_timefunc.cc:1030
longlong val_int() override
Definition: item_timefunc.h:642
Item_date_func(const POS &pos, Item *a)
Definition: item_timefunc.h:633
type_conversion_status save_in_field_inner(Field *field, bool) override
Helper function which does all of the work for save_in_field(Field*, bool), except some error checkin...
Definition: item_timefunc.h:623
String * val_str(String *str) override
Definition: item_timefunc.h:641
my_decimal * val_decimal(my_decimal *decimal_value) override
Definition: item_timefunc.h:648
DATE'2010-01-01'.
Definition: item_timefunc.h:868
bool basic_const_item() const override
Returns true if this is a simple constant item like an integer, not a constant expression.
Definition: item_timefunc.h:903
bool val_datetime(Datetime_val *dt, my_time_flags_t flags) override
Evaluate the item and return result as a datetime value.
Definition: item_timefunc.h:893
Item_date_literal(MYSQL_TIME *ltime)
Constructor for Item_date_literal.
Definition: item_timefunc.h:876
bool resolve_type(THD *) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.h:901
void print(const THD *thd, String *str, enum_query_type query_type) const override
Appends function name with argument list or fractional seconds part to the String str.
Definition: item_timefunc.cc:1050
const char * func_name() const override
Definition: item_timefunc.h:881
bool val_date(Date_val *date, my_time_flags_t flags) override
Evaluate the item and return result as a date value.
Definition: item_timefunc.h:889
bool eq_specific(const Item *item) const override
Provide a more specific equality check for a function.
Definition: item_timefunc.cc:1045
longlong val_date_temporal() override
Return date value of item in packed longlong format.
Definition: item_timefunc.h:885
MYSQL_TIME_cache cached_time
Definition: item_timefunc.h:869
void cleanup() override
Called for every Item after use (preparation and execution).
Definition: item_timefunc.h:906
table_map used_tables() const override
Definition: item_timefunc.h:904
bool check_partition_func_processor(uchar *) override
Check if a partition function is allowed.
Definition: item_timefunc.h:902
String * val_str(String *str) override
Definition: item_timefunc.h:897
uint64_t hash() override
Generate hash unique to an item depending on its attributes.
Definition: item_timefunc.cc:1056
table_map not_null_tables() const override
Return table map of tables that can't be NULL tables (tables that are used in a context where if they...
Definition: item_timefunc.h:905
Abstract class for functions returning DATETIME values.
Definition: item_timefunc.h:661
longlong val_int() override
Definition: item_timefunc.h:704
bool val_datetime(Datetime_val *dt, my_time_flags_t flags) override=0
Evaluate the item and return result as a datetime value.
Item_datetime_func(Item *a)
Definition: item_timefunc.h:674
Item_datetime_func(const POS &pos)
Definition: item_timefunc.h:671
Item_datetime_func()
Definition: item_timefunc.h:668
bool val_time(Time_val *time) override
Evaluate the item and return result as a time value.
Definition: item_timefunc.h:710
String * val_str(String *str) override
Definition: item_timefunc.h:701
bool val_date(Date_val *date, my_time_flags_t flags) override
Evaluate the item and return result as a date value.
Definition: item_timefunc.h:716
double val_real() override
Definition: item_timefunc.h:700
longlong val_date_temporal() override
Return date value of item in packed longlong format.
Definition: item_timefunc.cc:1037
Item_datetime_func(const POS &pos, PT_item_list *list)
Definition: item_timefunc.h:695
Item_datetime_func(Item *a, Item *b, Item *c)
Definition: item_timefunc.h:684
type_conversion_status save_in_field_inner(Field *field, bool) override
Helper function which does all of the work for save_in_field(Field*, bool), except some error checkin...
Definition: item_timefunc.h:663
Item_datetime_func(const POS &pos, Item *a, Item *b, Item *c)
Definition: item_timefunc.h:687
Item_datetime_func(const POS &pos, Item *a, Item *b, Item *c, Item *d)
Definition: item_timefunc.h:691
my_decimal * val_decimal(my_decimal *decimal_value) override
Definition: item_timefunc.h:706
Item_datetime_func(const POS &pos, Item *a, Item *b)
Definition: item_timefunc.h:680
Item_datetime_func(const POS &pos, Item *a)
Definition: item_timefunc.h:677
TIMESTAMP'2001-01-01 10:20:30'.
Definition: item_timefunc.h:951
MYSQL_TIME_cache cached_time
Definition: item_timefunc.h:952
uint64_t hash() override
Generate hash unique to an item depending on its attributes.
Definition: item_timefunc.cc:1073
bool basic_const_item() const override
Returns true if this is a simple constant item like an integer, not a constant expression.
Definition: item_timefunc.h:989
bool resolve_type(THD *) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.h:987
table_map not_null_tables() const override
Return table map of tables that can't be NULL tables (tables that are used in a context where if they...
Definition: item_timefunc.h:991
enum Functype functype() const override
Definition: item_timefunc.h:968
const char * func_name() const override
Definition: item_timefunc.h:967
void cleanup() override
Called for every Item after use (preparation and execution).
Definition: item_timefunc.h:992
bool val_datetime(Datetime_val *dt, my_time_flags_t flags) override
Evaluate the item and return result as a datetime value.
Definition: item_timefunc.h:979
bool check_partition_func_processor(uchar *) override
Check if a partition function is allowed.
Definition: item_timefunc.h:988
bool val_date(Date_val *date, my_time_flags_t flags) override
Evaluate the item and return result as a date value.
Definition: item_timefunc.h:975
void print(const THD *thd, String *str, enum_query_type query_type) const override
Appends function name with argument list or fractional seconds part to the String str.
Definition: item_timefunc.cc:1066
Item_datetime_literal(Datetime_val *dt, uint dec_arg, const Time_zone *tz)
Constructor for Item_datetime_literal.
Definition: item_timefunc.h:962
bool eq_specific(const Item *item) const override
Provide a more specific equality check for a function.
Definition: item_timefunc.cc:1061
String * val_str(String *str) override
Definition: item_timefunc.h:983
longlong val_date_temporal() override
Return date value of item in packed longlong format.
Definition: item_timefunc.h:971
table_map used_tables() const override
Definition: item_timefunc.h:990
Add a time expression to a temporal expression, or subtract a time expression from a temporal express...
Definition: item_timefunc.h:1597
bool resolve_type(THD *) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:3316
const char * func_name() const override
Definition: item_timefunc.h:1621
bool is_subtract() const
Definition: item_timefunc.h:1623
bool m_subtract
FALSE for ADD, TRUE for SUBTRACT.
Definition: item_timefunc.h:1599
const bool m_datetime
True if first argument expected to be datetime.
Definition: item_timefunc.h:1598
enum Functype functype() const override
Definition: item_timefunc.h:1622
bool eval_time(Time_val *time) override
Evaluate temporal expression as time value.
Definition: item_timefunc.cc:3465
Item_func_add_time(const POS &pos, Item *a, Item *b, bool datetime, bool subtract)
Definition: item_timefunc.h:1609
bool eval_datetime(Datetime_val *dt, my_time_flags_t flags) override
ADDTIME(t,a) and SUBTIME(t,a) are time functions that calculate a time/datetime value.
Definition: item_timefunc.cc:3361
Item_func_add_time(Item *a, Item *b, bool datetime, bool subtract)
Definition: item_timefunc.h:1605
Item_func_add_time(const POS &pos, Item *a, Item *b)
Definition: item_timefunc.h:1615
void print(const THD *thd, String *str, enum_query_type query_type) const override
This method is used for to:
Definition: item_timefunc.cc:3487
This function implements the AT TIME ZONE operator, which casts a temporal value to a temporal with t...
Definition: item_timefunc.h:1014
bool check_type() const
Definition: item_timefunc.cc:1159
bool resolve_type(THD *) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:1100
bool set_time_zone(THD *thd)
Definition: item_timefunc.cc:1118
bool val_datetime(Datetime_val *dt, my_time_flags_t flags) override
Evaluate the item and return result as a datetime value.
Definition: item_timefunc.cc:1133
const char * func_name() const override
Definition: item_timefunc.h:1024
void print(const THD *thd, String *str, enum_query_type query_type) const override
Appends function name with argument list or fractional seconds part to the String str.
Definition: item_timefunc.cc:1112
bool val_date(Date_val *date, my_time_flags_t flags) override
Evaluate the item and return result as a date value.
Definition: item_timefunc.cc:1129
bool m_is_interval
Whether the syntax used the INTERVAL construction.
Definition: item_timefunc.h:1050
const char * m_specifier_string
The specifier string argument, not used after resolution.
Definition: item_timefunc.h:1044
const Time_zone * m_tz
The time zone that the specifier string argument resolves to.
Definition: item_timefunc.h:1041
const char * specifier_string() const
Definition: item_timefunc.h:1034
Item_func_at_time_zone(const POS &pos, Item *datetime, const char *specifier_string, bool is_interval)
Definition: item_timefunc.h:1016
Definition: item_timefunc.h:1330
const char * func_name() const override
Definition: item_timefunc.h:1345
bool resolve_type(THD *) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:2713
bool val_datetime(Datetime_val *dt, my_time_flags_t flags) override
Evaluate the item and return result as a datetime value.
Definition: item_timefunc.cc:2726
void cleanup() override
Called for every Item after use (preparation and execution).
Definition: item_timefunc.cc:2759
Time_zone * from_tz
Definition: item_timefunc.h:1338
bool val_date(Date_val *date, my_time_flags_t flags) override
Evaluate the item and return result as a date value.
Definition: item_timefunc.cc:2722
Item_func_convert_tz(const POS &pos, Item *a, Item *b, Item *c)
Definition: item_timefunc.h:1341
bool from_tz_cached
Definition: item_timefunc.h:1337
bool to_tz_cached
Definition: item_timefunc.h:1337
enum Functype functype() const override
Definition: item_timefunc.h:1346
Time_zone * to_tz
Definition: item_timefunc.h:1338
Definition: item_timefunc.h:1150
Time_zone * time_zone() override
Definition: item_timefunc.cc:2280
const char * func_name() const override
Definition: item_timefunc.h:1156
Item_func_curdate_local(const POS &pos)
Definition: item_timefunc.h:1155
Definition: item_timefunc.h:1159
Time_zone * time_zone() override
Definition: item_timefunc.cc:2284
Item_func_curdate_utc(const POS &pos)
Definition: item_timefunc.h:1164
const char * func_name() const override
Definition: item_timefunc.h:1165
Abstract CURDATE function.
Definition: item_timefunc.h:1119
bool resolve_type(THD *) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:2275
bool val_date(Date_val *date, my_time_flags_t flags) override
Evaluate the item and return result as a date value.
Definition: item_timefunc.cc:2293
Item_date_func super
Definition: item_timefunc.h:1120
longlong val_date_temporal() override
Return date value of item in packed longlong format.
Definition: item_timefunc.cc:2286
String * val_str(String *) override
Definition: item_timefunc.cc:2304
virtual Time_zone * time_zone()=0
bool check_function_as_value_generator(uchar *checker_args) override
Check if this item is allowed for a virtual column or inside a default expression.
Definition: item_timefunc.h:1140
bool val_datetime(Datetime_val *dt, my_time_flags_t flags) override
Evaluate the item and return result as a datetime value.
Definition: item_timefunc.cc:2297
Item_func_curdate(const POS &pos)
Definition: item_timefunc.h:1126
bool do_itemize(Parse_context *pc, Item **res) override
The core function that does the actual itemization.
Definition: item_timefunc.cc:2268
table_map get_initial_pseudo_tables() const override
This function must assign a new value for each execution.
Definition: item_timefunc.h:1131
Definition: item_timefunc.h:1094
Item_func_curtime_local(const POS &pos, uint8 dec_arg)
Definition: item_timefunc.h:1099
const char * func_name() const override
Definition: item_timefunc.h:1101
Time_zone * time_zone() override
Definition: item_timefunc.cc:2349
Definition: item_timefunc.h:1104
Time_zone * time_zone() override
Definition: item_timefunc.cc:2353
const char * func_name() const override
Definition: item_timefunc.h:1111
Item_func_curtime_utc(const POS &pos, uint8 dec_arg)
Definition: item_timefunc.h:1109
Abstract CURTIME function. Children should define what time zone is used.
Definition: item_timefunc.h:1054
virtual Time_zone * time_zone()=0
table_map get_initial_pseudo_tables() const override
This function must assign a new value for each execution.
Definition: item_timefunc.h:1078
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:2325
bool check_function_as_value_generator(uchar *checker_args) override
Check if this item is allowed for a virtual column or inside a default expression.
Definition: item_timefunc.h:1084
Item_func_curtime(const POS &pos, uint8 dec_arg)
Constructor for Item_func_curtime.
Definition: item_timefunc.h:1071
bool val_time(Time_val *time) override
Evaluate the item and return result as a time value.
Definition: item_timefunc.cc:2340
bool do_itemize(Parse_context *pc, Item **res) override
The core function that does the actual itemization.
Definition: item_timefunc.cc:2318
void add_json_info(Json_object *obj) override
Add all the node-specific json fields.
Definition: item_timefunc.h:1061
Item_time_func super
Definition: item_timefunc.h:1055
TS-TODO: Item_func_dayname should be derived from Item_str_func.
Definition: item_timefunc.h:360
enum Item_result result_type() const override
Definition: item_timefunc.h:376
bool val_date(Date_val *date, my_time_flags_t flags) override
Evaluate the item and return result as a date value.
Definition: item_timefunc.h:369
bool val_time(Time_val *time) override
Evaluate the item and return result as a time value.
Definition: item_timefunc.h:372
const char * func_name() const override
Definition: item_timefunc.h:366
Item_func_dayname(const POS &pos, Item *a)
Definition: item_timefunc.h:364
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:1775
bool check_partition_func_processor(uchar *) override
Check if a partition function is allowed.
Definition: item_timefunc.h:378
String * val_str(String *str) override
Definition: item_timefunc.cc:1787
MY_LOCALE * locale
Definition: item_timefunc.h:361
bool val_datetime(Datetime_val *dt, my_time_flags_t flags) override
Evaluate the item and return result as a datetime value.
Definition: item_timefunc.h:373
enum Functype functype() const override
Definition: item_timefunc.h:367
Definition: item_timefunc.h:126
bool check_valid_arguments_processor(uchar *) override
Definition: item_timefunc.h:135
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:1374
Item_func_dayofmonth(const POS &pos, Item *a)
Definition: item_timefunc.h:128
bool check_partition_func_processor(uchar *) override
Check if a partition function is allowed.
Definition: item_timefunc.h:134
const char * func_name() const override
Definition: item_timefunc.h:131
longlong val_int() override
Definition: item_timefunc.cc:1385
enum Functype functype() const override
Definition: item_timefunc.h:132
Definition: item_timefunc.h:192
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:1355
bool check_valid_arguments_processor(uchar *) override
Definition: item_timefunc.h:200
longlong val_int() override
Definition: item_timefunc.cc:1366
bool check_partition_func_processor(uchar *) override
Check if a partition function is allowed.
Definition: item_timefunc.h:199
Item_func_dayofyear(const POS &pos, Item *a)
Definition: item_timefunc.h:194
const char * func_name() const override
Definition: item_timefunc.h:196
enum Functype functype() const override
Definition: item_timefunc.h:197
Definition: item_timefunc.h:1275
const char * func_name() const override
Definition: item_timefunc.h:1278
Item_func_from_days(const POS &pos, Item *a)
Definition: item_timefunc.h:1277
bool val_datetime(Datetime_val *dt, my_time_flags_t flags) override
Evaluate the item and return result as a datetime value.
Definition: item_timefunc.cc:2191
bool check_valid_arguments_processor(uchar *) override
Definition: item_timefunc.h:1283
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.h:1286
bool check_partition_func_processor(uchar *) override
Check if a partition function is allowed.
Definition: item_timefunc.h:1281
enum Functype functype() const override
Definition: item_timefunc.h:1282
bool val_date(Date_val *date, my_time_flags_t flags) override
Evaluate the item and return result as a date value.
Definition: item_timefunc.cc:2187
Definition: item_timefunc.h:1311
const char * func_name() const override
Definition: item_timefunc.h:1315
bool val_datetime(Datetime_val *dt, my_time_flags_t flags) override
Evaluate the item and return result as a datetime value.
Definition: item_timefunc.cc:2662
bool val_date(Date_val *date, my_time_flags_t flags) override
Evaluate the item and return result as a date value.
Definition: item_timefunc.cc:2658
Item_func_from_unixtime(const POS &pos, Item *a)
Definition: item_timefunc.h:1313
enum Functype functype() const override
Definition: item_timefunc.h:1316
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:2649
Definition: item_timefunc.h:205
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:1614
bool check_valid_arguments_processor(uchar *) override
Definition: item_timefunc.h:213
longlong val_int() override
Definition: item_timefunc.cc:1624
const char * func_name() const override
Definition: item_timefunc.h:209
enum Functype functype() const override
Definition: item_timefunc.h:210
Item_func_hour(const POS &pos, Item *a)
Definition: item_timefunc.h:207
bool check_partition_func_processor(uchar *) override
Check if a partition function is allowed.
Definition: item_timefunc.h:212
Definition: item_timefunc.h:1783
enum Functype functype() const override
Definition: item_timefunc.h:1787
const char * func_name() const override
Definition: item_timefunc.h:1788
Item_func_internal_check_time(const POS &pos, PT_item_list *list)
Definition: item_timefunc.h:1785
bool val_datetime(Datetime_val *dt, my_time_flags_t flags) override
Evaluate the item and return result as a datetime value.
Definition: item_timefunc.cc:4163
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:4150
bool val_date(Date_val *date, my_time_flags_t flags) override
Evaluate the item and return result as a date value.
Definition: item_timefunc.cc:4158
Definition: item_timefunc.h:1772
bool val_datetime(Datetime_val *dt, my_time_flags_t flags) override
Evaluate the item and return result as a datetime value.
Definition: item_timefunc.cc:4079
const char * func_name() const override
Definition: item_timefunc.h:1777
enum Functype functype() const override
Definition: item_timefunc.h:1776
Item_func_internal_update_time(const POS &pos, PT_item_list *list)
Definition: item_timefunc.h:1774
bool val_date(Date_val *date, my_time_flags_t flags) override
Evaluate the item and return result as a date value.
Definition: item_timefunc.cc:4074
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:4066
Definition: item_timefunc.h:1756
bool val_datetime(Datetime_val *dt, my_time_flags_t flags) override
Evaluate the item and return result as a datetime value.
Definition: item_timefunc.cc:4043
Item_func_last_day(const POS &pos, Item *a)
Definition: item_timefunc.h:1758
const char * func_name() const override
Definition: item_timefunc.h:1761
enum Functype functype() const override
Definition: item_timefunc.h:1762
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.h:1765
bool val_date(Date_val *date, my_time_flags_t flags) override
Evaluate the item and return result as a date value.
Definition: item_timefunc.cc:4039
Definition: item_timefunc.h:1574
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.h:1584
enum Functype functype() const override
Definition: item_timefunc.h:1583
bool val_date(Date_val *date, my_time_flags_t flags) override
MAKEDATE(a,b) is a date function that creates a date value from a year and day value.
Definition: item_timefunc.cc:3283
Item_func_makedate(const POS &pos, Item *a, Item *b)
Definition: item_timefunc.h:1576
bool val_datetime(Datetime_val *dt, my_time_flags_t flags) override
Evaluate the item and return result as a datetime value.
Definition: item_timefunc.cc:3287
const char * func_name() const override
Definition: item_timefunc.h:1580
Definition: item_timefunc.h:1650
enum Functype functype() const override
Definition: item_timefunc.h:1665
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.h:1656
Item_func_maketime(const POS &pos, Item *a, Item *b, Item *c)
Definition: item_timefunc.h:1652
const char * func_name() const override
Definition: item_timefunc.h:1664
bool val_time(Time_val *time) override
MAKETIME(h,m,s) is a time function that calculates a time value from the total number of hours,...
Definition: item_timefunc.cc:3592
Definition: item_timefunc.h:1669
bool check_valid_arguments_processor(uchar *) override
Definition: item_timefunc.h:1677
longlong val_int() override
MICROSECOND(a) is a function ( extraction) that extracts the microseconds from a.
Definition: item_timefunc.cc:3687
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:3693
enum Functype functype() const override
Definition: item_timefunc.h:1674
Item_func_microsecond(const POS &pos, Item *a)
Definition: item_timefunc.h:1671
const char * func_name() const override
Definition: item_timefunc.h:1673
bool check_partition_func_processor(uchar *) override
Check if a partition function is allowed.
Definition: item_timefunc.h:1676
Definition: item_timefunc.h:218
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:1630
const char * func_name() const override
Definition: item_timefunc.h:222
longlong val_int() override
Definition: item_timefunc.cc:1640
Item_func_minute(const POS &pos, Item *a)
Definition: item_timefunc.h:220
bool check_partition_func_processor(uchar *) override
Check if a partition function is allowed.
Definition: item_timefunc.h:225
enum Functype functype() const override
Definition: item_timefunc.h:223
bool check_valid_arguments_processor(uchar *) override
Definition: item_timefunc.h:226
TS-TODO: This should probably have Item_int_func as parent class.
Definition: item_timefunc.h:143
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:1549
double val_real() override
Definition: item_timefunc.h:150
bool val_time(Time_val *time) override
Evaluate the item and return result as a time value.
Definition: item_timefunc.h:163
bool val_date(Date_val *date, my_time_flags_t flags) override
Evaluate the item and return result as a date value.
Definition: item_timefunc.h:160
enum Item_result result_type() const override
Definition: item_timefunc.h:169
longlong val_int() override
Definition: item_timefunc.cc:1560
bool val_datetime(Datetime_val *dt, my_time_flags_t flags) override
Evaluate the item and return result as a datetime value.
Definition: item_timefunc.h:164
const char * func_name() const override
Definition: item_timefunc.h:167
String * val_str(String *str) override
Definition: item_timefunc.h:154
Item_func_month(const POS &pos, Item *a)
Definition: item_timefunc.h:145
bool check_valid_arguments_processor(uchar *) override
Definition: item_timefunc.h:172
enum Functype functype() const override
Definition: item_timefunc.h:168
bool check_partition_func_processor(uchar *) override
Check if a partition function is allowed.
Definition: item_timefunc.h:171
Definition: item_timefunc.h:177
Item_func_monthname(const POS &pos, Item *a)
Definition: item_timefunc.h:181
MY_LOCALE * locale
Definition: item_timefunc.h:178
const char * func_name() const override
Definition: item_timefunc.h:182
bool check_valid_arguments_processor(uchar *) override
Definition: item_timefunc.h:187
bool check_partition_func_processor(uchar *) override
Check if a partition function is allowed.
Definition: item_timefunc.h:186
String * val_str(String *str) override
Definition: item_timefunc.cc:1578
enum Functype functype() const override
Definition: item_timefunc.h:183
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:1566
Definition: item_timefunc.h:1214
static void store_in(Field *field)
Stores the query start time in a field, truncating to the field's number of fractional second digits.
Definition: item_timefunc.cc:2365
Time_zone * time_zone() override
Definition: item_timefunc.cc:2372
const char * func_name() const override
Definition: item_timefunc.h:1231
Item_func_now_local(const POS &pos, uint8 dec_arg)
Definition: item_timefunc.h:1228
enum Functype functype() const override
Definition: item_timefunc.h:1232
Item_func_now_local(uint8 dec_arg)
Definition: item_timefunc.h:1227
Definition: item_timefunc.h:1235
const char * func_name() const override
Definition: item_timefunc.h:1247
Item_func_now_utc(const POS &pos, uint8 dec_arg)
Definition: item_timefunc.h:1242
bool do_itemize(Parse_context *pc, Item **res) override
The core function that does the actual itemization.
Definition: item_timefunc.cc:2374
Item_func_now super
Definition: item_timefunc.h:1236
Time_zone * time_zone() override
Definition: item_timefunc.cc:2381
Abstract CURRENT_TIMESTAMP function.
Definition: item_timefunc.h:1173
bool val_datetime(Datetime_val *dt, my_time_flags_t flags) override
Evaluate the item and return result as a datetime value.
Definition: item_timefunc.cc:2395
bool val_date(Date_val *date, my_time_flags_t flags) override
Evaluate the item and return result as a date value.
Definition: item_timefunc.cc:2383
Item_func_now(uint8 dec_arg)
Constructor for Item_func_now.
Definition: item_timefunc.h:1189
type_conversion_status save_in_field_inner(Field *to, bool no_conversions) override
Helper function which does all of the work for save_in_field(Field*, bool), except some error checkin...
Definition: item_timefunc.cc:2416
longlong val_date_temporal() override
Return date value of item in packed longlong format.
Definition: item_timefunc.cc:2387
bool resolve_type(THD *) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:2357
virtual Time_zone * time_zone()=0
bool check_function_as_value_generator(uchar *checker_args) override
Check if this item is allowed for a virtual column or inside a default expression.
Definition: item_timefunc.h:1204
String * val_str(String *) override
Definition: item_timefunc.cc:2403
void add_json_info(Json_object *obj) override
Add all the node-specific json fields.
Definition: item_timefunc.h:1179
table_map get_initial_pseudo_tables() const override
This function must assign a new value for each execution.
Definition: item_timefunc.h:1195
Item_func_now(const POS &pos, uint8 dec_arg)
Definition: item_timefunc.h:1190
Definition: item_timefunc.h:66
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:1173
longlong val_int() override
Definition: item_timefunc.cc:1178
enum Functype functype() const override
Definition: item_timefunc.h:72
const char * func_name() const override
Definition: item_timefunc.h:71
Item_func_period_add(const POS &pos, Item *a, Item *b)
Definition: item_timefunc.h:68
Definition: item_timefunc.h:76
const char * func_name() const override
Definition: item_timefunc.h:81
enum Functype functype() const override
Definition: item_timefunc.h:82
Item_func_period_diff(const POS &pos, Item *a, Item *b)
Definition: item_timefunc.h:78
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:1192
longlong val_int() override
Definition: item_timefunc.cc:1197
Definition: item_timefunc.h:231
const char * func_name() const override
Definition: item_timefunc.h:235
bool check_partition_func_processor(uchar *) override
Check if a partition function is allowed.
Definition: item_timefunc.h:238
bool check_valid_arguments_processor(uchar *) override
Definition: item_timefunc.h:239
enum Functype functype() const override
Definition: item_timefunc.h:236
Item_func_quarter(const POS &pos, Item *a)
Definition: item_timefunc.h:233
longlong val_int() override
Returns the quarter of the year.
Definition: item_timefunc.cc:1607
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:1593
Definition: item_timefunc.h:1353
const char * func_name() const override
Definition: item_timefunc.h:1365
Item_func_sec_to_time(const POS &pos, Item *item)
Definition: item_timefunc.h:1355
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.h:1357
enum Functype functype() const override
Definition: item_timefunc.h:1366
bool val_time(Time_val *time) override
Evaluate the item and return result as a time value.
Definition: item_timefunc.cc:2450
Definition: item_timefunc.h:244
bool check_valid_arguments_processor(uchar *) override
Definition: item_timefunc.h:252
const char * func_name() const override
Definition: item_timefunc.h:248
bool check_partition_func_processor(uchar *) override
Check if a partition function is allowed.
Definition: item_timefunc.h:251
enum Functype functype() const override
Definition: item_timefunc.h:249
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:1646
Item_func_second(const POS &pos, Item *a)
Definition: item_timefunc.h:246
longlong val_int() override
Returns the second in time_exp in the range of 0 - 59.
Definition: item_timefunc.cc:1659
Definition: item_timefunc.h:1733
bool resolve_type(THD *) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:3954
bool eval_time(Time_val *time) override
Evaluate temporal expression as time value.
Definition: item_timefunc.h:1739
Item_func_str_to_date(const POS &pos, Item *a, Item *b)
Definition: item_timefunc.h:1750
void fix_from_format(const char *format, size_t length)
Set type of datetime value (DATE/TIME/...) which will be produced according to format string.
Definition: item_timefunc.cc:3904
bool eval_datetime(Datetime_val *dt, my_time_flags_t flags) override
Evaluate temporal expression as datetime value.
Definition: item_timefunc.cc:3988
const char * func_name() const override
Definition: item_timefunc.h:1752
enum_mysql_timestamp_type cached_timestamp_type
Definition: item_timefunc.h:1734
SYSDATE() is like NOW(), but always uses the real current time, not the query_start().
Definition: item_timefunc.h:1254
table_map get_initial_pseudo_tables() const override
This function is non-deterministic and hence depends on the 'RAND' pseudo-table.
Definition: item_timefunc.h:1270
const char * func_name() const override
Definition: item_timefunc.h:1259
Item_func_sysdate_local(uint8 dec_arg)
Definition: item_timefunc.h:1256
bool val_date(Date_val *date, my_time_flags_t flags) override
Evaluate the item and return result as a date value.
Definition: item_timefunc.cc:2425
bool resolve_type(THD *) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:2444
bool val_datetime(Datetime_val *dt, my_time_flags_t flags) override
Converts current time in my_time_t to MYSQL_TIME representation for local time zone.
Definition: item_timefunc.cc:2433
enum Functype functype() const override
Definition: item_timefunc.h:1261
Definition: item_timefunc.h:472
enum Functype functype() const override
Definition: item_timefunc.h:478
longlong val_int() override
Definition: item_timefunc.cc:2023
bool check_partition_func_processor(uchar *) override
Check if a partition function is allowed.
Definition: item_timefunc.h:480
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:2015
Item_func_time_to_sec(const POS &pos, Item *item)
Definition: item_timefunc.h:474
bool check_valid_arguments_processor(uchar *) override
Definition: item_timefunc.h:481
const char * func_name() const override
Definition: item_timefunc.h:477
Definition: item_timefunc.h:1626
enum Functype functype() const override
Definition: item_timefunc.h:1631
Item_func_timediff(const POS &pos, Item *a, Item *b)
Definition: item_timefunc.h:1628
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.h:1632
const char * func_name() const override
Definition: item_timefunc.h:1630
bool val_time(Time_val *time) override
TIMEDIFF(t,s) is a time function that calculates the time value between a start and end time.
Definition: item_timefunc.cc:3511
Definition: item_timefunc.h:1682
interval_type intervaltype() const
Definition: item_timefunc.h:1691
const char * func_name() const override
Definition: item_timefunc.h:1689
enum Functype functype() const override
Definition: item_timefunc.h:1690
longlong val_int() override
Definition: item_timefunc.cc:3700
void print(const THD *thd, String *str, enum_query_type query_type) const override
This method is used for to:
Definition: item_timefunc.cc:3796
Item_func_timestamp_diff(const POS &pos, Item *a, Item *b, interval_type type_arg)
Definition: item_timefunc.h:1686
const interval_type int_type
Definition: item_timefunc.h:1683
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.h:1693
Definition: item_timefunc.h:86
Item_func_to_days(const POS &pos, Item *a)
Definition: item_timefunc.h:88
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:1212
bool check_partition_func_processor(uchar *) override
Check if a partition function is allowed.
Definition: item_timefunc.h:95
longlong val_int() override
Definition: item_timefunc.cc:1226
enum Functype functype() const override
Definition: item_timefunc.h:91
const char * func_name() const override
Definition: item_timefunc.h:90
bool check_valid_arguments_processor(uchar *) override
Definition: item_timefunc.h:96
longlong val_int_endpoint(bool left_endp, bool *incl_endp) override
Definition: item_timefunc.cc:1308
enum_monotonicity_info get_monotonicity_info() const override
Definition: item_timefunc.cc:1289
Definition: item_timefunc.h:101
bool intro_version(uchar *int_arg) override
Definition: item_timefunc.h:112
enum_monotonicity_info get_monotonicity_info() const override
Definition: item_timefunc.cc:1299
Item_func_to_seconds(const POS &pos, Item *a)
Definition: item_timefunc.h:103
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:1256
longlong val_int() override
Definition: item_timefunc.cc:1263
enum Functype functype() const override
Definition: item_timefunc.h:106
const char * func_name() const override
Definition: item_timefunc.h:105
bool check_partition_func_processor(uchar *) override
Check if a partition function is allowed.
Definition: item_timefunc.h:110
longlong val_int_endpoint(bool left_endp, bool *incl_endp) override
Definition: item_timefunc.cc:1233
bool check_valid_arguments_processor(uchar *) override
Definition: item_timefunc.h:121
Definition: item_timefunc.h:413
bool check_partition_func_processor(uchar *) override
Check if a partition function is allowed.
Definition: item_timefunc.h:430
table_map get_initial_pseudo_tables() const override
Returns the pseudo tables depended upon in order to evaluate this function expression.
Definition: item_timefunc.h:440
longlong val_int_endpoint(bool left_endp, bool *incl_endp) override
Definition: item_timefunc.cc:2006
const char * func_name() const override
Definition: item_timefunc.h:424
Item_func_unix_timestamp(const POS &pos)
Definition: item_timefunc.h:417
bool check_function_as_value_generator(uchar *p_arg) override
Check if this item is allowed for a virtual column or inside a default expression.
Definition: item_timefunc.h:459
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.h:445
Item_timeval_func super
Definition: item_timefunc.h:414
enum_monotonicity_info get_monotonicity_info() const override
Definition: item_timefunc.cc:1999
bool do_itemize(Parse_context *pc, Item **res) override
The core function that does the actual itemization.
Definition: item_timefunc.cc:1976
Item_func_unix_timestamp(Item *a)
Definition: item_timefunc.h:419
bool check_valid_arguments_processor(uchar *) override
Definition: item_timefunc.h:436
enum Functype functype() const override
Definition: item_timefunc.h:425
Item_func_unix_timestamp(const POS &pos, Item *a)
Definition: item_timefunc.h:421
bool val_timeval(my_timeval *tm) override
Definition: item_timefunc.cc:1987
Definition: item_timefunc.h:257
const char * func_name() const override
Definition: item_timefunc.h:267
longlong val_int() override
Definition: item_timefunc.cc:1725
bool do_itemize(Parse_context *pc, Item **res) override
The core function that does the actual itemization.
Definition: item_timefunc.cc:1671
Item_func_week(const POS &pos, Item *a, Item *b)
Definition: item_timefunc.h:262
Item_func_week(Item *a, Item *b)
Definition: item_timefunc.h:261
Item_int_func super
Definition: item_timefunc.h:258
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:1682
enum Functype functype() const override
Definition: item_timefunc.h:268
TS-TODO: This should probably have Item_int_func as parent class.
Definition: item_timefunc.h:317
Item_func_weekday(const POS &pos, Item *a, bool type_arg)
Definition: item_timefunc.h:321
bool check_partition_func_processor(uchar *) override
Check if a partition function is allowed.
Definition: item_timefunc.h:349
const char * func_name() const override
Definition: item_timefunc.h:343
bool val_time(Time_val *time) override
Evaluate the item and return result as a time value.
Definition: item_timefunc.h:339
bool check_valid_arguments_processor(uchar *) override
Definition: item_timefunc.h:350
double val_real() override
Definition: item_timefunc.h:327
String * val_str(String *str) override
Definition: item_timefunc.h:331
bool odbc_type
Definition: item_timefunc.h:318
enum Item_result result_type() const override
Definition: item_timefunc.h:347
enum Functype functype() const override
Definition: item_timefunc.h:346
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:1754
bool val_datetime(Datetime_val *dt, my_time_flags_t flags) override
Evaluate the item and return result as a datetime value.
Definition: item_timefunc.h:340
bool val_date(Date_val *date, my_time_flags_t flags) override
Evaluate the item and return result as a date value.
Definition: item_timefunc.h:336
longlong val_int() override
Definition: item_timefunc.cc:1764
Definition: item_timefunc.h:286
enum Functype functype() const override
Definition: item_timefunc.h:291
longlong val_int_endpoint(bool left_endp, bool *incl_endp) override
Definition: item_timefunc.cc:1920
enum_monotonicity_info get_monotonicity_info() const override
Definition: item_timefunc.cc:1912
bool check_partition_func_processor(uchar *) override
Check if a partition function is allowed.
Definition: item_timefunc.h:295
const char * func_name() const override
Definition: item_timefunc.h:290
longlong val_int() override
Definition: item_timefunc.cc:1809
Item_func_year(const POS &pos, Item *a)
Definition: item_timefunc.h:288
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:1801
bool check_valid_arguments_processor(uchar *) override
Definition: item_timefunc.h:296
Definition: item_timefunc.h:272
bool check_partition_func_processor(uchar *) override
Check if a partition function is allowed.
Definition: item_timefunc.h:280
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:1733
enum Functype functype() const override
Definition: item_timefunc.h:278
longlong val_int() override
Definition: item_timefunc.cc:1744
Item_func_yearweek(const POS &pos, Item *a, Item *b)
Definition: item_timefunc.h:274
bool check_valid_arguments_processor(uchar *) override
Definition: item_timefunc.h:281
const char * func_name() const override
Definition: item_timefunc.h:277
Definition: item_func.h:101
bool param_type_uses_non_param(THD *thd, enum_field_types def=MYSQL_TYPE_VARCHAR)
Definition: item_func.cc:619
Item ** args
Array of pointers to arguments.
Definition: item_func.h:108
bool reject_vector_args()
Definition: item_func.cc:1617
Functype
Definition: item_func.h:214
@ DATEADD_FUNC
Definition: item_func.h:322
@ YEAR_FUNC
Definition: item_func.h:302
@ HOUR_FUNC
Definition: item_func.h:313
@ TIME_TO_SEC_FUNC
Definition: item_func.h:327
@ PERIODDIFF_FUNC
Definition: item_func.h:343
@ FROM_UNIXTIME_FUNC
Definition: item_func.h:323
@ MAKETIME_FUNC
Definition: item_func.h:305
@ NOW_FUNC
Definition: item_func.h:256
@ FROM_DAYS_FUNC
Definition: item_func.h:257
@ CONVERT_TZ_FUNC
Definition: item_func.h:324
@ DD_INTERNAL_FUNC
Definition: item_func.h:271
@ DAY_FUNC
Definition: item_func.h:308
@ MAKEDATE_FUNC
Definition: item_func.h:304
@ SEC_TO_TIME_FUNC
Definition: item_func.h:344
@ DATE_FUNC
Definition: item_func.h:312
@ TIMESTAMPDIFF_FUNC
Definition: item_func.h:328
@ SECOND_FUNC
Definition: item_func.h:315
@ PERIODADD_FUNC
Definition: item_func.h:342
@ EXTRACT_FUNC
Definition: item_func.h:262
@ MONTH_FUNC
Definition: item_func.h:306
@ TO_SECONDS_FUNC
Definition: item_func.h:311
@ MICROSECOND_FUNC
Definition: item_func.h:316
@ QUARTER_FUNC
Definition: item_func.h:319
@ TIMEDIFF_FUNC
Definition: item_func.h:341
@ SYSDATE_FUNC
Definition: item_func.h:340
@ MONTHNAME_FUNC
Definition: item_func.h:307
@ TYPECAST_FUNC
Definition: item_func.h:263
@ LAST_DAY_FUNC
Definition: item_func.h:325
@ WEEKDAY_FUNC
Definition: item_func.h:321
@ ADDTIME_FUNC
Definition: item_func.h:318
@ DAYOFYEAR_FUNC
Definition: item_func.h:317
@ GET_FORMAT_FUNC
Definition: item_func.h:345
@ DAYNAME_FUNC
Definition: item_func.h:309
@ DATETIME_LITERAL
Definition: item_func.h:329
@ MINUTE_FUNC
Definition: item_func.h:314
@ TO_DAYS_FUNC
Definition: item_func.h:310
@ WEEK_FUNC
Definition: item_func.h:320
@ YEARWEEK_FUNC
Definition: item_func.h:303
@ UNIX_TIMESTAMP_FUNC
Definition: item_func.h:326
virtual const char * func_name() const =0
bool has_timestamp_args()
Definition: item_func.h:668
enum Type type() const override
Definition: item_func.h:373
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:530
bool propagate_type(THD *thd, const Type_properties &type) override
Default implementation for all functions: Propagate base_item's type into all arguments.
Definition: item_func.cc:506
bool has_date_args()
Definition: item_func.h:678
uint arg_count
How many arguments in 'args'.
Definition: item_func.h:131
bool has_time_args()
Definition: item_func.h:689
bool has_datetime_args()
Definition: item_func.h:700
Definition: item_func.h:1044
Definition: item_strfunc.h:151
Definition: item_strfunc.h:78
String * val_str_from_val_str_ascii(String *str, String *str2)
Definition: item_strfunc.cc:155
void add_json_info(Json_object *obj) override
Add all the node-specific json fields.
Definition: item_strfunc.h:143
Abstract class for functions returning TIME, DATE, DATETIME types whose data type is known at constru...
Definition: item_timefunc.h:490
Item_temporal_func()
Definition: item_timefunc.h:501
Item_temporal_func(const POS &pos, Item *a)
Definition: item_timefunc.h:505
Item_temporal_func(const POS &pos, Item *a, Item *b)
Definition: item_timefunc.h:507
Item_temporal_func(const POS &pos)
Definition: item_timefunc.h:502
Item_temporal_func(Item *a)
Definition: item_timefunc.h:504
Item_temporal_func(Item *a, Item *b, Item *c)
Definition: item_timefunc.h:509
Field * tmp_table_field(TABLE *table) override
Definition: item_timefunc.h:521
Item_temporal_func(const POS &pos, PT_item_list *list)
Definition: item_timefunc.h:514
bool check_precision()
Definition: item_timefunc.cc:822
void add_json_info(Json_object *obj) override
Add all the node-specific json fields.
Definition: item_timefunc.h:495
Item_temporal_func(const POS &pos, Item *a, Item *b, Item *c)
Definition: item_timefunc.h:510
Item_temporal_func(const POS &pos, Item *a, Item *b, Item *c, Item *d)
Definition: item_timefunc.h:512
uint datetime_precision() override
DATETIME precision of the item: 0..6.
Definition: item_timefunc.h:528
void print(const THD *thd, String *str, enum_query_type query_type) const override
Appends function name with argument list or fractional seconds part to the String str.
Definition: item_timefunc.cc:842
uint time_precision() override
TIME precision of the item: 0..6.
Definition: item_timefunc.h:524
const CHARSET_INFO * charset_for_protocol() override
Definition: item_timefunc.h:518
Item_result result_type() const override
Definition: item_timefunc.h:517
Abstract class for functions returning TIME, DATE, DATETIME or string values, whose data type depends...
Definition: item_timefunc.h:540
const CHARSET_INFO * charset_for_protocol() override
Definition: item_timefunc.h:582
virtual bool eval_time(Time_val *time)=0
Evaluate temporal expression as time value.
Field * tmp_table_field(TABLE *table) override
Definition: item_timefunc.h:593
my_decimal * val_decimal(my_decimal *decimal_value) override
Definition: item_timefunc.cc:881
sql_mode_t sql_mode
Definition: item_timefunc.h:542
double val_real() override
Definition: item_timefunc.h:597
void add_json_info(Json_object *obj) override
Add all the node-specific json fields.
Definition: item_timefunc.h:571
Item_result result_type() const override
Definition: item_timefunc.h:581
virtual bool eval_datetime(Datetime_val *dt, my_time_flags_t flags)=0
Evaluate temporal expression as datetime value.
Item_temporal_hybrid_func(const POS &pos, Item *a, Item *b)
Definition: item_timefunc.h:578
Item_temporal_hybrid_func(Item *a, Item *b)
Definition: item_timefunc.h:576
bool val_time(Time_val *time) override
Evaluate the item and return result as a time value.
Definition: item_timefunc.cc:952
String * val_str(String *str) override
Return string value in @character_set_connection.
Definition: item_timefunc.h:606
String * val_str_ascii(String *str) override
Return string value in ASCII character set.
Definition: item_timefunc.cc:989
longlong val_int() override
Definition: item_timefunc.h:596
String ascii_buf
Definition: item_timefunc.h:543
bool val_datetime(Datetime_val *dt, my_time_flags_t flags) override
Evaluate the item and return result as a datetime value.
Definition: item_timefunc.cc:916
type_conversion_status save_in_field_inner(Field *field, bool no_conversions) override
Helper function which does all of the work for save_in_field(Field*, bool), except some error checkin...
Definition: item_timefunc.cc:864
bool val_date(Date_val *date, my_time_flags_t flags) override
Evaluate the item and return result as a date value.
Definition: item_timefunc.cc:911
bool eval_date(Date_val *date, my_time_flags_t flags)
Evaluate temporal expression as date value.
Definition: item_timefunc.h:559
Abstract class for functions returning TIME values.
Definition: item_timefunc.h:725
type_conversion_status save_in_field_inner(Field *field, bool) override
Helper function which does all of the work for save_in_field(Field*, bool), except some error checkin...
Definition: item_timefunc.h:727
longlong val_int() override
Definition: item_timefunc.h:755
String * val_str(String *str) override
Definition: item_timefunc.h:762
bool val_time(Time_val *time) override=0
Evaluate the item and return result as a time value.
Item_time_func(const POS &pos, Item *a)
Definition: item_timefunc.h:739
Item_time_func(const POS &pos, Item *a, Item *b, Item *c)
Definition: item_timefunc.h:746
Item_time_func(Item *a)
Definition: item_timefunc.h:736
my_decimal * val_decimal(my_decimal *decimal_value) override
Definition: item_timefunc.h:751
Item_time_func(const POS &pos)
Definition: item_timefunc.h:733
double val_real() override
Definition: item_timefunc.h:750
Item_time_func(const POS &pos, Item *a, Item *b)
Definition: item_timefunc.h:742
bool val_datetime(Datetime_val *dt, my_time_flags_t) override
Evaluate the item and return result as a datetime value.
Definition: item_timefunc.h:759
Item_time_func()
Definition: item_timefunc.h:732
bool val_date(Date_val *date, my_time_flags_t) override
Evaluate the item and return result as a date value.
Definition: item_timefunc.h:756
TIME'10:10:10'.
Definition: item_timefunc.h:913
bool resolve_type(THD *) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.h:934
bool check_partition_func_processor(uchar *) override
Check if a partition function is allowed.
Definition: item_timefunc.h:935
Time_val m_time
Definition: item_timefunc.h:943
void cleanup() override
Called for every Item after use (preparation and execution).
Definition: item_timefunc.h:939
Item_time_literal(Time_val *time, uint dec_arg)
Constructor for Item_time_literal.
Definition: item_timefunc.h:921
bool eq_specific(const Item *item) const override
Provide a more specific equality check for a function.
Definition: item_timefunc.cc:1078
uint64_t m_hash
Definition: item_timefunc.h:944
bool basic_const_item() const override
Returns true if this is a simple constant item like an integer, not a constant expression.
Definition: item_timefunc.h:936
const char * func_name() const override
Definition: item_timefunc.h:926
void print(const THD *thd, String *str, enum_query_type query_type) const override
Appends function name with argument list or fractional seconds part to the String str.
Definition: item_timefunc.cc:1083
uint64_t hash() override
Generate hash unique to an item depending on its attributes.
Definition: item_timefunc.cc:1092
table_map used_tables() const override
Definition: item_timefunc.h:937
bool val_time(Time_val *time) override
Evaluate the item and return result as a time value.
Definition: item_timefunc.h:929
table_map not_null_tables() const override
Return table map of tables that can't be NULL tables (tables that are used in a context where if they...
Definition: item_timefunc.h:938
Definition: item_timefunc.h:384
bool val_datetime(Datetime_val *dt, my_time_flags_t flags) override
Evaluate the item and return result as a datetime value.
Definition: item_timefunc.h:405
virtual bool val_timeval(my_timeval *tm)=0
Return timestamp in "struct timeval" format.
longlong val_int() override
Definition: item_timefunc.cc:1947
String * val_str(String *str) override
Definition: item_timefunc.cc:1967
Item_timeval_func(const POS &pos, Item *a)
Definition: item_timefunc.h:389
my_decimal * val_decimal(my_decimal *decimal_value) override
Definition: item_timefunc.cc:1952
Item_timeval_func(Item *a)
Definition: item_timefunc.h:388
enum Item_result result_type() const override
Definition: item_timefunc.h:408
Item_timeval_func(const POS &pos)
Definition: item_timefunc.h:386
bool val_time(Time_val *time) override
Evaluate the item and return result as a time value.
Definition: item_timefunc.h:404
bool val_date(Date_val *date, my_time_flags_t flags) override
Evaluate the item and return result as a date value.
Definition: item_timefunc.h:401
double val_real() override
Definition: item_timefunc.cc:1960
Definition: item_timefunc.h:1469
bool m_explicit_cast
Definition: item_timefunc.h:1470
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.h:1481
void print(const THD *thd, String *str, enum_query_type query_type) const override
Appends function name with argument list or fractional seconds part to the String str.
Definition: item_timefunc.cc:3234
const char * cast_type() const
Definition: item_timefunc.h:1493
const char * func_name() const override
Definition: item_timefunc.h:1488
bool is_explicit_cast() const
Definition: item_timefunc.h:1490
bool val_date(Date_val *date, my_time_flags_t flags) override
Evaluate the item and return result as a date value.
Definition: item_timefunc.cc:3243
bool val_datetime(Datetime_val *dt, my_time_flags_t flags) override
Evaluate the item and return result as a datetime value.
Definition: item_timefunc.cc:3247
enum Functype functype() const override
Definition: item_timefunc.h:1489
Item_typecast_date(Item *a, bool explicit_cast)
Definition: item_timefunc.h:1473
Item_typecast_date(const POS &pos, Item *a)
Definition: item_timefunc.h:1477
Definition: item_timefunc.h:1534
bool val_date(Date_val *date, my_time_flags_t flags) override
Evaluate the item and return result as a date value.
Definition: item_timefunc.cc:3186
Item_typecast_datetime(Item *a, uint8 dec_arg)
Definition: item_timefunc.h:1551
Item_typecast_datetime(const POS &pos, Item *a)
Definition: item_timefunc.h:1543
Item_typecast_datetime(Item *a, bool explicit_cast)
Definition: item_timefunc.h:1539
enum Functype functype() const override
Definition: item_timefunc.h:1558
bool is_explicit_cast() const
Definition: item_timefunc.h:1560
const char * func_name() const override
Definition: item_timefunc.h:1557
bool m_explicit_cast
Definition: item_timefunc.h:1536
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.h:1561
Item_typecast_datetime(const POS &pos, Item *a, uint8 dec_arg)
Definition: item_timefunc.h:1546
void print(const THD *thd, String *str, enum_query_type query_type) const override
Appends function name with argument list or fractional seconds part to the String str.
Definition: item_timefunc.cc:3176
bool val_datetime(Datetime_val *dt, my_time_flags_t flags) override
Evaluate the item and return result as a datetime value.
Definition: item_timefunc.cc:3190
bool detect_precision_from_arg
Definition: item_timefunc.h:1535
const char * cast_type() const
Definition: item_timefunc.h:1559
Definition: item_timefunc.h:1496
Item_typecast_time(Item *a, uint8 dec_arg)
Definition: item_timefunc.h:1512
Item_typecast_time(const POS &pos, Item *a)
Definition: item_timefunc.h:1504
bool is_explicit_cast() const
Definition: item_timefunc.h:1520
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.h:1523
Item_typecast_time(const POS &pos, Item *a, uint8 dec_arg)
Definition: item_timefunc.h:1507
const char * cast_type() const
Definition: item_timefunc.h:1522
bool val_time(Time_val *time) override
Evaluate the item and return result as a time value.
Definition: item_timefunc.cc:3228
enum Functype functype() const override
Definition: item_timefunc.h:1519
bool detect_precision_from_arg
Definition: item_timefunc.h:1497
Item_typecast_time(Item *a)
Definition: item_timefunc.h:1501
void print(const THD *thd, String *str, enum_query_type query_type) const override
Appends function name with argument list or fractional seconds part to the String str.
Definition: item_timefunc.cc:3218
const char * func_name() const override
Definition: item_timefunc.h:1518
bool m_explicit_cast
Definition: item_timefunc.h:1498
Definition: item_timefunc.h:301
bool resolve_type(THD *thd) override
Resolve type-related information for this item, such as result field type, maximum size,...
Definition: item_timefunc.cc:1815
Item_typecast_year(const POS &pos, Item *a)
Definition: item_timefunc.h:303
longlong val_int() override
Definition: item_timefunc.cc:1831
void print(const THD *thd, String *str, enum_query_type query_type) const override
This method is used for to:
Definition: item_timefunc.cc:1824
enum Functype functype() const override
Definition: item_timefunc.h:308
const char * func_name() const override
Definition: item_timefunc.h:307
Base class that is used to represent any kind of expression in a relational query.
Definition: item.h:928
void set_nullable(bool nullable)
Definition: item.h:3748
bool get_datetime_from_numeric(Datetime_val *dt, my_time_flags_t flags)
Convert a numeric type to datetime.
Definition: item.cc:1643
void set_data_type_date()
Set all type properties for Item of DATE type.
Definition: item.h:1694
DTCollation collation
Character set and collation properties assigned for this Item.
Definition: item.h:3643
longlong val_int_from_decimal()
Definition: item.cc:477
bool get_time_from_datetime(Time_val *time)
Convert datetime to time.
Definition: item.cc:1737
bool get_date_from_int(Date_val *date, my_time_flags_t flags)
Convert val_int() to date.
Definition: item.cc:1599
void set_data_type(enum_field_types data_type)
Set the data type of the current Item.
Definition: item.h:1511
longlong val_int_from_datetime()
Definition: item.cc:502
static const CHARSET_INFO * default_charset()
Definition: item.cc:1806
String * val_string_from_date(String *str)
Definition: item.cc:340
double val_real_from_decimal()
Definition: item.cc:459
String * val_string_from_datetime(String *str)
Definition: item.cc:329
bool get_datetime_from_time(Datetime_val *dt)
Convert val_time() to datetime.
Definition: item.cc:1616
longlong val_int_from_date()
Definition: item.cc:495
void set_data_type_year()
Set the data type of the Item to be YEAR.
Definition: item.h:1772
bool get_time_from_date(Time_val *time)
Convert date to time.
Definition: item.cc:1728
bool get_time_from_numeric(Time_val *time)
Convert a numeric type to time.
Definition: item.cc:1746
Field * tmp_table_field_from_field_type(TABLE *table, bool fixed_length) const
Create a field based on field_type of argument.
Definition: item.cc:6835
enum_field_types data_type() const
Retrieve the derived data type of the Item.
Definition: item.h:1479
bool fixed
True if item has been resolved.
Definition: item.h:3736
longlong val_int_from_time()
Definition: item.cc:486
bool null_value
True if item is null.
Definition: item.h:3773
bool get_datetime_from_string(Datetime_val *dt, my_time_flags_t flags)
Convert val_str() to datetime.
Definition: item.cc:1555
void set_data_type_datetime(uint8 fsp)
Set all properties for Item of DATETIME type.
Definition: item.h:1719
virtual uint datetime_precision()
DATETIME precision of the item: 0..6.
Definition: item.cc:837
bool get_datetime_from_int(Datetime_val *dt, my_time_flags_t flags)
Convert val_int() to datetime.
Definition: item.cc:1593
my_decimal * val_decimal_from_date(my_decimal *decimal_value)
Definition: item.cc:396
bool get_time_from_int(Time_val *time)
Convert val_int() to time.
Definition: item.cc:1722
bool get_date_from_string(Date_val *date, my_time_flags_t flags)
Convert val_str() to date.
Definition: item.cc:1563
@ MARKER_NONE
Definition: item.h:3664
type_conversion_status save_time_in_field(Field *field)
Definition: item.cc:526
item_marker marker
This member has several successive meanings, depending on the phase we're in (.
Definition: item.h:3705
uint8 decimals
Number of decimals in result when evaluating this item.
Definition: item.h:3745
void set_data_type_string(uint32 max_l)
Set the Item to be variable length string.
Definition: item.h:1598
bool get_date_from_time(Date_val *date)
Convert val_time() to date.
Definition: item.cc:1605
String * val_string_from_time(String *str)
Definition: item.cc:351
bool get_date_from_numeric(Date_val *date, my_time_flags_t flags)
Convert a numeric type to date.
Definition: item.cc:1627
void set_data_type_longlong()
Set the data type of the Item to be longlong.
Definition: item.h:1553
void set_data_type_time(uint8 fsp)
Set all type properties for Item of TIME type.
Definition: item.h:1706
void set_data_type_decimal(uint8 precision, uint8 scale)
Set the data type of the Item to be decimal.
Definition: item.h:1567
my_decimal * val_decimal_from_time(my_decimal *decimal_value)
Definition: item.cc:405
type_conversion_status save_date_in_field(Field *field)
Definition: item.cc:535
bool get_time_from_string(Time_val *time)
Convert val_str() to time.
Definition: item.cc:1701
Represents a JSON container value of type "object" (ECMA), type J_OBJECT here.
Definition: json_dom.h:373
bool add_alias(std::string_view key, Json_dom *value)
Insert the value into the object.
Definition: json_dom.h:415
Cache for MYSQL_TIME value with various representations.
Definition: item_timefunc.h:776
uint string_length
length of string
Definition: item_timefunc.h:780
MYSQL_TIME * get_TIME_ptr()
Return pointer to MYSQL_TIME representation.
Definition: item_timefunc.h:850
longlong val_packed() const
Return packed representation.
Definition: item_timefunc.h:833
MYSQL_TIME_cache()
Definition: item_timefunc.h:792
uint8 decimals() const
Return number of decimal digits.
Definition: item_timefunc.h:825
uint8 dec
Number of decimals.
Definition: item_timefunc.h:781
bool get_date(MYSQL_TIME *ltime) const
Definition: item_timefunc.h:842
const char * cptr() const
Return C string representation.
Definition: item_timefunc.h:862
bool get_date(MYSQL_TIME *ltime, my_time_flags_t fuzzydate) const
Store MYSQL_TIME representation into the given date/datetime variable checking date flags.
Definition: item_timefunc.cc:2254
longlong time_packed
packed representation
Definition: item_timefunc.h:778
void set_date(MYSQL_TIME *ltime)
Set time and time_packed from a DATE value.
Definition: item_timefunc.cc:2214
MYSQL_TIME time
MYSQL_TIME representation.
Definition: item_timefunc.h:777
void set_datetime(MYSQL_TIME *ltime, uint8 dec_arg, const Time_zone *tz=nullptr)
Set time and time_packed from a DATETIME value.
Definition: item_timefunc.cc:2222
bool eq(const MYSQL_TIME_cache &tm) const
Test if cached value is equal to another MYSQL_TIME_cache value.
Definition: item_timefunc.h:818
String * val_str(String *str)
Store string representation into String.
Definition: item_timefunc.cc:2261
char string_buff[MAX_DATE_STRING_REP_LENGTH]
string representation
Definition: item_timefunc.h:779
void get_TIME(MYSQL_TIME *ltime) const
Store MYSQL_TIME representation into the given MYSQL_TIME variable.
Definition: item_timefunc.h:786
Definition: sql_locale.h:37
Wrapper class for an Item list head, used to allocate Item lists in the parser in a context-independe...
Definition: parse_tree_helpers.h:109
Base class for parse tree nodes (excluding the Parse_tree_root hierarchy)
Definition: parse_tree_node_base.h:231
Using this class is fraught with peril, and you need to be very careful when doing so.
Definition: sql_string.h:169
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
Time_val is a temporal type that represents only time.
Definition: my_temporal.h:55
This class represents abstract time zone and provides basic interface for MYSQL_TIME <-> my_time_t co...
Definition: tztime.h:49
my_decimal class limits 'decimal_t' type to what we need in MySQL.
Definition: my_decimal.h:97
uint64_t sql_mode_t
Definition: dd_event.h:39
enum_query_type
Query type constants (usable as bitmap flags).
Definition: enum_query_type.h:31
This file contains the field type.
@ MYSQL_TYPE_LONGLONG
Definition: field_types.h:64
@ MYSQL_TYPE_TIME
Definition: field_types.h:67
@ MYSQL_TYPE_STRING
Definition: field_types.h:89
@ MYSQL_TYPE_NEWDECIMAL
Definition: field_types.h:81
@ MYSQL_TYPE_DATE
Definition: field_types.h:66
@ MYSQL_TYPE_DATETIME
Definition: field_types.h:68
static const std::string dec("DECRYPTION")
bool is_adjusted(uint32_t decimals) const
Definition: my_temporal.cc:45
static int flags[50]
Definition: hp_test1.cc:40
enum_mysql_timestamp_type
Definition: mysql_time.h:45
@ MYSQL_TIMESTAMP_TIME
Stores hour, minute, second and microsecond.
Definition: mysql_time.h:60
@ MYSQL_TIMESTAMP_NONE
Definition: mysql_time.h:46
enum monotonicity_info enum_monotonicity_info
const char * interval_names[]
Definition: item_timefunc.cc:2927
bool make_date_time(Date_time_format *format, MYSQL_TIME *l_time, enum_mysql_timestamp_type type, String *str)
Create a formatted date/time value in a string.
Definition: item_timefunc.cc:537
date_time_format
Definition: item_timefunc.h:1703
@ USA_FORMAT
Definition: item_timefunc.h:1704
@ JIS_FORMAT
Definition: item_timefunc.h:1705
@ INTERNAL_FORMAT
Definition: item_timefunc.h:1708
@ EUR_FORMAT
Definition: item_timefunc.h:1707
@ ISO_FORMAT
Definition: item_timefunc.h:1706
bool get_interval_value(Item *args, interval_type int_type, String *str_value, Interval *interval)
Convert a string to a interval value.
Definition: item_timefunc.cc:2036
A better implementation of the UNIX ctype(3) library.
MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_bin
Definition: ctype-bin.cc:499
Some integer typedefs for easier portability.
uint8_t uint8
Definition: my_inttypes.h:63
unsigned char uchar
Definition: my_inttypes.h:52
long long int longlong
Definition: my_inttypes.h:55
uint64_t table_map
Definition: my_table_map.h:30
Interface for low level time utilities.
constexpr const int DATETIME_MAX_DECIMALS
Definition: my_time.h:134
constexpr const my_time_flags_t TIME_FUZZY_DATE
Allow zero day and zero month.
Definition: my_time.h:88
void datetime_to_time(MYSQL_TIME *ltime)
"Casts" MYSQL_TIME datetime to a MYSQL_TIME time.
Definition: my_time.h:563
unsigned int my_time_flags_t
Flags to str_to_datetime and number_to_datetime.
Definition: my_time.h:85
constexpr const std::size_t MAX_DATE_STRING_REP_LENGTH
Required buffer length for my_time_to_str, my_date_to_str, my_datetime_to_str and TIME_to_string func...
Definition: my_time.h:414
interval_type
Available interval types used in any statement.
Definition: my_time.h:439
@ INTERVAL_HOUR_SECOND
Definition: my_time.h:454
@ INTERVAL_MONTH
Definition: my_time.h:442
@ INTERVAL_HOUR_MICROSECOND
Definition: my_time.h:457
@ INTERVAL_MINUTE
Definition: my_time.h:446
@ INTERVAL_HOUR_MINUTE
Definition: my_time.h:453
@ INTERVAL_DAY
Definition: my_time.h:444
@ INTERVAL_MINUTE_MICROSECOND
Definition: my_time.h:458
@ INTERVAL_MINUTE_SECOND
Definition: my_time.h:455
@ INTERVAL_QUARTER
Definition: my_time.h:441
@ INTERVAL_YEAR
Definition: my_time.h:440
@ INTERVAL_DAY_MICROSECOND
Definition: my_time.h:456
@ INTERVAL_SECOND_MICROSECOND
Definition: my_time.h:459
@ INTERVAL_SECOND
Definition: my_time.h:447
@ INTERVAL_DAY_HOUR
Definition: my_time.h:450
@ INTERVAL_HOUR
Definition: my_time.h:445
@ INTERVAL_YEAR_MONTH
Definition: my_time.h:449
@ INTERVAL_DAY_SECOND
Definition: my_time.h:452
@ INTERVAL_MICROSECOND
Definition: my_time.h:448
@ INTERVAL_DAY_MINUTE
Definition: my_time.h:451
static int interval
Definition: mysqladmin.cc:72
std::string str(const mysqlrouter::ConfigGenerator::Options::Endpoint &ep)
Definition: config_generator.cc:1078
static PFS_engine_table_share_proxy table
Definition: pfs.cc:61
bool length(const dd::Spatial_reference_system *srs, const Geometry *g1, double *length, bool *null) noexcept
Computes the length of linestrings and multilinestrings.
Definition: length.cc:76
ValueType max(X &&first)
Definition: gtid.h:103
std::list< T, ut::allocator< T > > list
Specialization of list which uses ut_allocator.
Definition: ut0new.h:2884
required string type
Definition: replication_group_member_actions.proto:34
"public" interface to sys_var - server configuration variables.
type_conversion_status
Status when storing a value in a field or converting from one datatype to another.
Definition: field.h:197
@ VGS_CHECK_CONSTRAINT
Definition: field.h:471
@ VGS_GENERATED_COLUMN
Definition: field.h:469
File containing constants that can be used throughout the server.
constexpr const table_map RAND_TABLE_BIT
Definition: sql_const.h:113
constexpr const table_map INNER_TABLE_BIT
Definition: sql_const.h:111
Our own string classes, used pervasively throughout the executor.
Definition: m_ctype.h:421
Struct used to pass around arguments to/from check_function_as_value_generator.
Definition: item.h:486
const char * banned_function_name
the name of the function which is not allowed
Definition: item.h:500
Value_generator_source source
Definition: item.h:498
Struct representing a duration.
Definition: my_time.h:219
Definition: mysql_time.h:82
enum enum_mysql_timestamp_type time_type
Definition: mysql_time.h:86
Bison "location" class.
Definition: parse_location.h:43
Environment data for the contextualization phase.
Definition: parse_tree_node_base.h:422
Replacement of system's struct timeval to ensure we can carry 64 bit values even on a platform which ...
Definition: my_time_t.h:45
static task_arg int_arg(int i)
Definition: task.h:165
Item_result
Type of the user defined function return slot and arguments.
Definition: udf_registration_types.h:39
@ STRING_RESULT
not valid for UDFs
Definition: udf_registration_types.h:41
@ DECIMAL_RESULT
not valid for UDFs
Definition: udf_registration_types.h:45
@ INT_RESULT
double
Definition: udf_registration_types.h:43