24#ifndef SQL_TIME_INCLUDED
25#define SQL_TIME_INCLUDED
109 const char *field_name);
234 unsigned long ms,
bool negative,
Definition: sql_error.h:225
enum_severity_level
Enumeration value describing the severity of the condition.
Definition: sql_error.h:63
Using this class is fraught with peril, and you need to be very careful when doing so.
Definition: sql_string.h:168
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:34
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:94
This file contains the field type.
enum_field_types
Column types for MySQL.
Definition: field_types.h:53
@ MYSQL_TYPE_TIME
Definition: field_types.h:65
@ MYSQL_TYPE_DATE
Definition: field_types.h:64
@ MYSQL_TYPE_TIMESTAMP
Definition: field_types.h:61
@ MYSQL_TYPE_DATETIME
Definition: field_types.h:66
static const std::string dec("DECRYPTION")
const char * get_date_time_format_str(const Known_date_time_format *format, enum_mysql_timestamp_type type)
Return format string according format name.
Definition: sql_time.cc:640
my_decimal * my_decimal_from_datetime_packed(my_decimal *dec, enum enum_field_types type, longlong packed_value)
Unpack packed numeric temporal value to date/time value and then convert to decimal representation.
Definition: sql_time.cc:810
bool make_truncated_value_warning(THD *thd, Sql_condition::enum_severity_level level, const ErrConvString &val, enum_mysql_timestamp_type time_type, const char *field_name)
Create and add a truncated value warning to the THD.
Definition: sql_time.cc:730
bool decimal_to_datetime(const my_decimal *decimal, MYSQL_TIME *ltime, my_time_flags_t flags)
Convert decimal value to datetime.
Definition: sql_time.cc:240
void make_time(const Date_time_format *format, const MYSQL_TIME *l_time, String *str, uint dec)
Convert TIME value to String.
Definition: sql_time.cc:678
bool my_double_to_datetime_with_warn(double nr, MYSQL_TIME *ltime, my_time_flags_t flags)
Convert double value to datetime value with a warning.
Definition: sql_time.cc:308
bool date_add_interval_with_warn(THD *, MYSQL_TIME *ltime, interval_type int_type, Interval interval)
Uses propagate_datetime_overflow() to handle and propagate any warnings from date_add_interval() to t...
Definition: sql_time.cc:778
bool str_to_time_with_warn(String *str, MYSQL_TIME *l_time)
Convert a time string to a MYSQL_TIME struct and produce a warning if string was cut during conversio...
Definition: sql_time.cc:595
void make_datetime(const Date_time_format *format, const MYSQL_TIME *l_time, String *str, uint dec)
Convert DATETIME value to String.
Definition: sql_time.cc:705
T propagate_datetime_overflow(THD *thd, int *warnings, T t)
Wrapper function which will propagate any DATETIME_OVERFLOW warnings to the THD.
Definition: sql_time.h:135
ulonglong gmt_time_to_local_time(ulonglong time)
This function gets GMT time and adds value of time_zone to get the local time.
Definition: sql_time.cc:841
uint actual_decimals(const MYSQL_TIME *ts)
Return the number of significant second fraction decimals in ts, e.g.
Definition: sql_time.cc:868
bool my_double_to_time_with_warn(double nr, MYSQL_TIME *ltime)
Convert double number to TIME.
Definition: sql_time.cc:447
bool my_longlong_to_time_with_warn(longlong nr, MYSQL_TIME *ltime)
Convert longlong number to TIME.
Definition: sql_time.cc:475
void propagate_datetime_overflow_helper(THD *thd, int *warnings)
Propagates a DATETIME_OVERFLOW warning from warnings bitfield to DA in thd.
Definition: sql_time.cc:791
const LEX_CSTRING interval_type_to_name[]
Name description of interval names used in statements.
Definition: sql_time.cc:69
enum_mysql_timestamp_type field_type_to_timestamp_type(enum enum_field_types type)
Return the timstamp value corresponding the field type passed as argument.
Definition: sql_time.h:204
size_t max_fraction(uint decimals)
For a time fraction with a given number of decimals, return maximum fraction, if any,...
Definition: sql_time.cc:877
bool double_to_datetime(double nr, MYSQL_TIME *ltime, my_time_flags_t flags)
Convert double value to datetime.
Definition: sql_time.cc:291
bool str_to_time(const CHARSET_INFO *cs, const char *str, size_t length, MYSQL_TIME *l_time, my_time_flags_t flags, MYSQL_TIME_STATUS *status)
Character set-aware version of str_to_time().
Definition: sql_time.cc:127
bool datetime_to_timeval(const MYSQL_TIME *t, const Time_zone &tz, my_timeval *tm, int *warnings)
Convert a datetime MYSQL_TIME representation to corresponding "struct timeval" value.
Definition: sql_time.cc:580
bool str_to_datetime(const CHARSET_INFO *cs, const char *str, size_t length, MYSQL_TIME *l_time, my_time_flags_t flags, MYSQL_TIME_STATUS *status)
Character set-aware version of str_to_datetime().
Definition: sql_time.cc:148
void make_date(const Date_time_format *format, const MYSQL_TIME *l_time, String *str)
Convert DATE value to String.
Definition: sql_time.cc:691
bool double_to_time(double nr, MYSQL_TIME *ltime)
Convert double number to TIME.
Definition: sql_time.cc:430
MYSQL_TIME my_time_set(uint y, uint m, uint d, uint h, uint mi, uint s, unsigned long ms, bool negative, enum_mysql_timestamp_type type)
In lieu of a proper constructor for the C struct MYSQL_TIME, this method initializes the struct.
Definition: sql_time.cc:862
bool str_to_datetime_with_warn(String *str, MYSQL_TIME *l_time, my_time_flags_t flags)
Convert a timestamp string to a MYSQL_TIME value and produce a warning if string was truncated during...
Definition: sql_time.cc:173
bool my_TIME_to_str(const MYSQL_TIME *ltime, String *str, uint dec)
Convert TIME/DATE/DATETIME value to String.
Definition: sql_time.cc:718
bool decimal_to_time(const my_decimal *decimal, MYSQL_TIME *ltime)
Convert decimal number to TIME.
Definition: sql_time.cc:383
bool my_longlong_to_datetime_with_warn(longlong nr, MYSQL_TIME *ltime, my_time_flags_t flags)
Convert longlong value to datetime value with a warning.
Definition: sql_time.cc:339
bool my_decimal_to_datetime_with_warn(const my_decimal *decimal, MYSQL_TIME *ltime, my_time_flags_t flags)
Convert decimal value to datetime value with a warning.
Definition: sql_time.cc:258
bool datetime_with_no_zero_in_date_to_timeval(const MYSQL_TIME *t, const Time_zone &tz, my_timeval *tm, int *warnings)
Converts a datetime in MYSQL_TIME representation to corresponding struct timeval value.
Definition: sql_time.cc:514
bool my_decimal_to_time_with_warn(const my_decimal *decimal, MYSQL_TIME *ltime)
Convert decimal number to TIME.
Definition: sql_time.cc:400
my_time_t TIME_to_timestamp(const MYSQL_TIME *t, const Time_zone &tz, bool *not_exist)
void time_to_datetime(THD *thd, const MYSQL_TIME *tm, const Time_zone &tz, MYSQL_TIME *dt)
static int flags[50]
Definition: hp_test1.cc:40
A better implementation of the UNIX ctype(3) library.
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:56
unsigned char uchar
Definition: my_inttypes.h:52
long long int longlong
Definition: my_inttypes.h:55
Interface for low level time utilities.
unsigned int my_time_flags_t
Flags to str_to_datetime and number_to_datetime.
Definition: my_time.h:94
interval_type
Available interval types used in any statement.
Definition: my_time.h:455
int64_t my_time_t
Portable time_t replacement.
Definition: my_time_t.h:32
Time declarations shared between the server and client API: you should not add anything to this heade...
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_DATETIME
Stores all date and time components.
Definition: mysql_time.h:57
@ MYSQL_TIMESTAMP_DATE
Stores year, month and day components.
Definition: mysql_time.h:50
@ MYSQL_TIMESTAMP_NONE
Definition: mysql_time.h:46
static int interval
Definition: mysqladmin.cc:65
std::string str(const mysqlrouter::ConfigGenerator::Options::Endpoint &ep)
Definition: config_generator.cc:1052
Definition: commit_order_queue.h:34
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
required uint32 status
Definition: replication_asynchronous_connection_failover.proto:61
required string type
Definition: replication_group_member_actions.proto:34
Our own string classes, used pervasively throughout the executor.
Definition: m_ctype.h:385
Struct representing a duration.
Definition: my_time.h:228
Definition: mysql_lex_string.h:40
Structure to return status from str_to_datetime(), str_to_time(), number_to_datetime(),...
Definition: my_time.h:170
Definition: mysql_time.h:82
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
Include file for Sun RPC to compile out of the box.
unsigned int uint
Definition: uca9-dump.cc:75