24#ifndef MY_TIME_INCLUDED
25#define MY_TIME_INCLUDED
56extern const unsigned long long int log_10_int[20];
77 : std::numeric_limits<std::int32_t>::max();
90 std::numeric_limits<std::int32_t>::max();
193 const char *
end,
const char *delim,
bool colon =
false) {
199 const size_t argsize =
end - arg;
200 const size_t size = std::min(bufsize, argsize);
241long calc_daynr(
unsigned int year,
unsigned int month,
unsigned int day);
250int calc_weekday(
long daynr,
bool sunday_first_day_of_week);
261 return (
static_cast<int64_t
>(x) <=
static_cast<int64_t
>(
MYTIME_MAX_VALUE) &&
312 return static_cast<double>(
my_time.second_part) / 1000000.0;
362 return (i % (1LL << 24));
416 bool *in_dst_time_gap);
431 sizeof(
"YYYY-MM-DD AM HH:MM:SS.FFFFFF+HH:MM");
606 unsigned int nanoseconds,
609 unsigned int nanoseconds);
611 unsigned int nanoseconds,
int *warnings);
614 unsigned int nanoseconds,
618 unsigned int nanoseconds,
int *warnings,
622 unsigned int nanoseconds,
623 int *warnings,
bool truncate);
635 int l_sign,
long long int *seconds_out,
636 long *microseconds_out);
643 long long int packed_value);
646 long long int packed_value);
649 long long int packed_value);
This file contains the field type.
enum_field_types
Column types for MySQL.
Definition: field_types.h:53
static const std::string dec("DECRYPTION")
bool my_time_adjust_frac(MYSQL_TIME *ltime, unsigned int dec, bool truncate)
Round/Truncate time value to the given precision.
Definition: my_time.cc:2571
void TIME_set_yymmdd(MYSQL_TIME *ltime, unsigned int yymmdd)
Set day, month and year from a number.
Definition: my_time.cc:1572
unsigned long long int TIME_to_ulonglong_date(const MYSQL_TIME &my_time)
Convert MYSQL_TIME value to integer in YYYYMMDD format.
Definition: my_time.cc:1548
unsigned int calc_days_in_year(unsigned int year)
Calc days in one year.
Definition: my_time.cc:134
my_time_t my_system_gmt_sec(const MYSQL_TIME &my_time, my_time_t *my_timezone, bool *in_dst_time_gap)
Convert time in MYSQL_TIME representation in system time zone to its my_time_t form (number of second...
Definition: my_time.cc:1079
long long int TIME_to_longlong_time_packed(const MYSQL_TIME &my_time)
Convert time value to numeric packed representation.
Definition: my_time.cc:1689
uint64_t convert_month_to_period(uint64_t month)
Convert month to period.
Definition: my_time.cc:2266
bool datetime_add_nanoseconds_with_round(MYSQL_TIME *ltime, unsigned int nanoseconds, int *warnings)
Add nanoseconds to a datetime value with rounding.
Definition: my_time.cc:2498
unsigned long long int TIME_to_ulonglong(const MYSQL_TIME &my_time)
Convert struct MYSQL_TIME (date and time split into year/month/day/hour/... to a number in format YYY...
Definition: my_time.cc:1611
long long int longlong_from_datetime_packed(enum enum_field_types type, long long int packed_value)
Convert packed numeric representation to unpacked numeric representation.
Definition: my_time.cc:2855
bool str_to_datetime(const char *str, std::size_t length, MYSQL_TIME *l_time, my_time_flags_t flags, MYSQL_TIME_STATUS *status)
Convert a timestamp string to a MYSQL_TIME value.
Definition: my_time.cc:365
void localtime_to_TIME(MYSQL_TIME *to, const struct tm *from)
Converts a timepoint in a posix tm struct to a MYSQL_TIME struct.
Definition: my_time.cc:2676
bool calc_time_diff(const MYSQL_TIME &my_time1, const MYSQL_TIME &my_time2, int l_sign, long long int *seconds_out, long *microseconds_out)
Calculate difference between two datetime values as seconds + microseconds.
Definition: my_time.cc:2728
bool datetime_add_nanoseconds_adjust_frac(MYSQL_TIME *ltime, unsigned int nanoseconds, int *warnings, bool truncate)
Add nanoseconds to datetime and round or truncate as indicated by argument.
Definition: my_time.cc:2550
void TIME_from_longlong_time_packed(MYSQL_TIME *ltime, long long int nr)
Convert time packed numeric representation to time.
Definition: my_time.cc:1703
bool datetime_add_nanoseconds_with_truncate(MYSQL_TIME *ltime, unsigned int nanoseconds)
Add nanoseconds to a datetime value with truncation.
Definition: my_time.cc:2435
unsigned long long int TIME_to_ulonglong_time(const MYSQL_TIME &my_time)
Convert MYSQL_TIME value to integer in HHMMSS format.
Definition: my_time.cc:1561
void set_max_time(MYSQL_TIME *tm, bool neg)
Set MYSQL_TIME variable to maximum time value.
Definition: my_time.cc:164
bool time_zone_displacement_to_seconds(const char *str, size_t length, int *result)
Parses a time zone displacement string on the form {+-}HH:MM, converting to seconds.
Definition: my_time.cc:277
void my_timestamp_from_binary(my_timeval *tm, const unsigned char *ptr, unsigned int dec)
Convert binary timestamp representation to in-memory representation.
Definition: my_time.cc:2016
const char my_zero_datetime6[]
Definition: my_time.cc:84
bool check_date(const MYSQL_TIME <ime, bool not_zero_date, my_time_flags_t flags, int *was_cut)
Check datetime value for validity according to flags.
Definition: my_time.cc:189
long long int year_to_longlong_datetime_packed(long year)
Convert year to packed numeric date representation.
Definition: my_time.cc:1887
void set_max_hhmmss(MYSQL_TIME *tm)
Set hour, minute and second of a MYSQL_TIME variable to maximum time value.
Definition: my_time.cc:153
int my_time_compare(const MYSQL_TIME &my_time_a, const MYSQL_TIME &my_time_b)
Compare tow MYSQL_TIME objects.
Definition: my_time.cc:2782
void TIME_from_longlong_date_packed(MYSQL_TIME *ltime, long long int nr)
Convert packed numeric date representation to MYSQL_TIME.
Definition: my_time.cc:1931
bool my_datetime_adjust_frac(MYSQL_TIME *ltime, unsigned int dec, int *warnings, bool truncate)
Round/Truncate datetime value to the given precision.
Definition: my_time.cc:2593
bool check_time_range_quick(const MYSQL_TIME &my_time)
Check TIME range.
Definition: my_time.cc:235
void my_init_time()
Prepare offset of system time zone from UTC for my_system_gmt_sec() func.
Definition: my_time.cc:997
bool check_datetime_range(const MYSQL_TIME &my_time)
Check datetime, date, or normalized time (i.e.
Definition: my_time.cc:252
void calc_time_from_sec(MYSQL_TIME *to, long long int seconds, long microseconds)
Initialize MYSQL_TIME with MYSQL_TIMESTAMP_TIME from given number of seconds and microseconds.
Definition: my_time.cc:2692
long long int TIME_to_longlong_packed(const MYSQL_TIME &my_time)
Convert a temporal value to packed numeric temporal representation, depending on its time_type.
Definition: my_time.cc:2088
void mix_date_and_time(MYSQL_TIME *ldate, const MYSQL_TIME &my_time)
Mix a date value and a time value.
Definition: my_time.cc:2635
void adjust_time_range(MYSQL_TIME *, int *warning)
Adjust 'time' value to lie in the MYSQL_TIME range.
Definition: my_time.cc:985
int my_date_to_str(const MYSQL_TIME &my_time, char *to)
Converts a date value to a string with the format 'YYYY-MM-DD'.
Definition: my_time.cc:1313
const unsigned long long int log_10_int[20]
Definition: my_time.cc:63
const unsigned char days_in_month[]
Definition: my_time.cc:90
long long int my_datetime_packed_from_binary(const unsigned char *ptr, unsigned int dec)
Convert on-disk datetime representation to in-memory packed numeric representation.
Definition: my_time.cc:1950
unsigned int year_2000_handling(unsigned int year)
Handle 2 digit year conversions.
Definition: my_time.cc:1026
unsigned long long int TIME_to_ulonglong_time_round(const MYSQL_TIME &my_time)
Round MYSQL_TIME time value and convert to to ulonglong representation.
Definition: my_time.cc:1653
void get_date_from_daynr(int64_t daynr, unsigned int *year, unsigned int *month, unsigned int *day)
Change a daynr to year, month and day.
Definition: my_time.cc:2113
void TIME_from_longlong_packed(MYSQL_TIME *ltime, enum enum_field_types type, long long int packed_value)
Convert packed numeric temporal representation to time, date or datetime, using field type.
Definition: my_time.cc:2826
bool date_add_interval(MYSQL_TIME *ltime, interval_type int_type, Interval interval, int *warnings)
Add an interval to a MYSQL_TIME struct.
Definition: my_time.cc:2281
void my_date_to_binary(const MYSQL_TIME *ltime, unsigned char *ptr)
Convert in-memory date representation to on-disk representation.
Definition: my_time.cc:2076
unsigned long long int TIME_to_ulonglong_datetime(const MYSQL_TIME &my_time)
Convert time value to integer in YYYYMMDDHHMMSS.
Definition: my_time.cc:1534
int my_datetime_to_str(const MYSQL_TIME &my_time, char *to, unsigned int dec)
Print a datetime value with an optional fractional part.
Definition: my_time.cc:1367
bool my_timeval_round(my_timeval *tv, unsigned int decimals)
Round timeval value to the given precision.
Definition: my_time.cc:2611
void TIME_set_hhmmss(MYSQL_TIME *ltime, unsigned int hhmmss)
Set hour, minute and secondr from a number.
Definition: my_time.cc:1584
unsigned long long int TIME_to_ulonglong_datetime_round(const MYSQL_TIME &my_time, int *warnings)
Round MYSQL_TIME datetime value and convert to ulonglong representation.
Definition: my_time.cc:1636
long long int TIME_to_longlong_datetime_packed(const MYSQL_TIME &my_time)
Convert datetime to packed numeric datetime representation.
Definition: my_time.cc:1860
bool time_add_nanoseconds_with_truncate(MYSQL_TIME *ltime, unsigned int nanoseconds, int *warnings)
Add nanoseconds to a time value with truncation.
Definition: my_time.cc:2415
bool number_to_time(long long int nr, MYSQL_TIME *ltime, int *warnings)
Convert number to TIME.
Definition: my_time.cc:944
double double_from_datetime_packed(enum enum_field_types type, long long int packed_value)
Convert packed numeric temporal representation to unpacked numeric representation.
Definition: my_time.cc:2885
void my_time_packed_to_binary(long long int nr, unsigned char *ptr, unsigned int dec)
Convert in-memory numeric time representation to on-disk representation.
Definition: my_time.cc:1734
uint64_t convert_period_to_month(uint64_t period)
Calculate month from period.
Definition: my_time.cc:2249
void set_zero_time(MYSQL_TIME *tm, enum enum_mysql_timestamp_type time_type)
Set MYSQL_TIME structure to 0000-00-00 00:00:00.000000.
Definition: my_time.cc:144
bool str_to_time(const char *str, std::size_t length, MYSQL_TIME *l_time, MYSQL_TIME_STATUS *status, my_time_flags_t flags=0)
Convert a time string to a MYSQL_TIME struct.
Definition: my_time.cc:737
long long int number_to_datetime(long long int nr, MYSQL_TIME *time_res, my_time_flags_t flags, int *was_cut)
Convert datetime value specified as number to broken-down TIME representation and form value of DATET...
Definition: my_time.cc:1453
long long int my_time_packed_from_binary(const unsigned char *ptr, unsigned int dec)
Convert on-disk time representation to in-memory packed numeric representation.
Definition: my_time.cc:1774
bool time_add_nanoseconds_with_round(MYSQL_TIME *ltime, unsigned int nanoseconds, int *warnings)
Add nanoseconds to a time value with rounding.
Definition: my_time.cc:2454
void my_datetime_packed_to_binary(long long int nr, unsigned char *ptr, unsigned int dec)
Store in-memory numeric packed datetime representation to disk.
Definition: my_time.cc:1981
int my_timeval_to_str(const my_timeval *tm, char *to, unsigned int dec)
Print a timestamp with an oprional fractional part: XXXXX[.YYYYY].
Definition: my_time.cc:1417
bool check_time_mmssff_range(const MYSQL_TIME &my_time)
Check if TIME fields can be adjusted to make the time value valid.
Definition: my_time.cc:218
long calc_daynr(unsigned int year, unsigned int month, unsigned int day)
Calculate nr of day since year 0 in new date-system (from 1615).
Definition: my_time.cc:1042
void TIME_from_longlong_datetime_packed(MYSQL_TIME *ltime, long long int nr)
Convert packed numeric datetime representation to MYSQL_TIME.
Definition: my_time.cc:1898
int calc_weekday(long daynr, bool sunday_first_day_of_week)
Calc weekday from daynr.
Definition: my_time.cc:2156
unsigned int calc_week(const MYSQL_TIME &l_time, unsigned int week_behaviour, unsigned int *year)
Calculate the week number from a MYSQL_TIME value.
Definition: my_time.cc:2198
bool time_add_nanoseconds_adjust_frac(MYSQL_TIME *ltime, unsigned int nanoseconds, int *warnings, bool truncate)
Add nanoseconds to time and round or truncate as indicated by argument.
Definition: my_time.cc:2532
int my_TIME_to_str(const MYSQL_TIME &my_time, char *to, unsigned int dec)
Convert struct DATE/TIME/DATETIME value to string using built-in MySQL time conversion formats.
Definition: my_time.cc:1390
long long int TIME_to_longlong_date_packed(const MYSQL_TIME &my_time)
Convert date to packed numeric date representation.
Definition: my_time.cc:1876
void my_timestamp_to_binary(const my_timeval *tm, unsigned char *ptr, unsigned int dec)
Convert in-memory timestamp representation to on-disk representation.
Definition: my_time.cc:2045
int my_time_to_str(const MYSQL_TIME &my_time, char *to, unsigned int dec)
Converts a time value to a string with the format HH:MM:SS[.fraction].
Definition: my_time.cc:1283
static int flags[50]
Definition: hp_test1.cc:40
time_t my_time(int)
Return current time.
Definition: my_systime.h:171
constexpr const int MYTIME_MIN_YEAR
Definition: my_time.h:68
void my_time_trunc(MYSQL_TIME *ltime, unsigned int decimals)
Truncate the number of microseconds in MYSQL_TIME::second_part to the desired precision.
Definition: my_time.h:503
constexpr const int DAYS_PER_LYEAR
Definition: my_time.h:150
void date_to_datetime(MYSQL_TIME *ltime)
"Casts" a MYSQL_TIME to datetime by setting MYSQL_TIME::time_type to MYSQL_TIMESTAMP_DATETIME.
Definition: my_time.h:601
constexpr const bool HAVE_64_BITS_TIME_T
Definition: my_time.h:60
constexpr const my_time_flags_t TIME_NO_ZERO_IN_DATE
Don't allow zero day or zero month.
Definition: my_time.h:106
constexpr const int YY_PART_YEAR
Two-digit years < this are 20XX; >= this are 19XX.
Definition: my_time.h:67
bool validate_my_time(const MYSQL_TIME &my_time)
Check whether the argument holds a valid UNIX time value (seconds after epoch).
Definition: my_time.h:408
long long int my_packed_time_get_frac_part(long long int i)
Return the fraction of the second as the number of microseconds.
Definition: my_time.h:361
void my_datetime_trunc(MYSQL_TIME *ltime, unsigned int decimals)
Alias for my_time_trunc.
Definition: my_time.h:514
constexpr const int MYSQL_TIME_WARN_INVALID_TIMESTAMP
Definition: my_time.h:120
constexpr const my_time_flags_t TIME_INVALID_DATES
Allow 2000-02-31.
Definition: my_time.h:112
double TIME_to_double(const MYSQL_TIME &my_time)
Convert a MYSQL_TIME to double where the integral part is the timepoint as an ulonglong,...
Definition: my_time.h:350
double TIME_to_double_time(const MYSQL_TIME &my_time)
Convert a MYSQL_TIME time to double where the integral part is the timepoint as an ulonglong,...
Definition: my_time.h:336
constexpr const int MYSQL_TIME_NOTE_TRUNCATED
Definition: my_time.h:122
bool non_zero_date(const MYSQL_TIME &my_time)
Predicate which returns true if at least one of the date members are non-zero.
Definition: my_time.h:549
constexpr const int TIMESTAMP_MAX_YEAR
Definition: my_time.h:64
constexpr const int MYSQL_TIME_WARN_TRUNCATED
Conversion warnings.
Definition: my_time.h:118
constexpr const unsigned int WEEK_FIRST_WEEKDAY
Definition: my_time.h:160
constexpr const int MINS_PER_HOUR
Definition: my_time.h:146
constexpr const my_time_flags_t TIME_DATETIME_ONLY
Only allow full datetimes.
Definition: my_time.h:100
constexpr const int TIME_MAX_HOUR
Limits for the TIME data type.
Definition: my_time.h:130
constexpr const unsigned int WEEK_YEAR
Definition: my_time.h:159
constexpr const my_time_t MYTIME_MAX_VALUE
max seconds from epoch of host's time_t stored in my_time_t Windows allows up to 3001-01-18 23:59:59 ...
Definition: my_time.h:75
double TIME_microseconds(const MYSQL_TIME &my_time)
Extract the microsecond part of a MYSQL_TIME struct as an n * (1/10^6) fraction as a double.
Definition: my_time.h:311
constexpr const my_time_flags_t TIME_NO_ZERO_DATE
Don't allow 0000-00-00 date.
Definition: my_time.h:109
constexpr const int DATETIME_MAX_DECIMALS
Definition: my_time.h:143
constexpr const int MAX_TIME_ZONE_HOURS
Definition: my_time.h:155
constexpr const int MYSQL_TIME_WARN_DATETIME_OVERFLOW
Definition: my_time.h:124
constexpr const int HOURS_PER_DAY
Definition: my_time.h:147
constexpr const int TIME_MAX_MINUTE
Definition: my_time.h:131
bool check_fuzzy_date(const MYSQL_TIME &my_time, my_time_flags_t fuzzydate)
Predicate for fuzzyness of date.
Definition: my_time.h:537
constexpr const int64_t MAX_DAY_NUMBER
Daynumber from year 0 to 9999-12-31.
Definition: my_time.h:163
constexpr const int DAYS_PER_NYEAR
Definition: my_time.h:149
void my_timeval_trunc(my_timeval *tv, unsigned int decimals)
Truncate the tv_usec member of a posix timeval struct to the specified number of decimals.
Definition: my_time.h:525
void datetime_to_date(MYSQL_TIME *ltime)
"Casts" MYSQL_TIME datetime to a MYSQL_TIME date.
Definition: my_time.h:586
constexpr const int SECS_PER_DAY
Definition: my_time.h:152
constexpr const int MYSQL_TIME_WARN_ZERO_IN_DATE
Definition: my_time.h:123
constexpr const my_time_flags_t TIME_FUZZY_DATE
Allow zero day and zero month.
Definition: my_time.h:97
long my_time_fraction_remainder(long nr, unsigned int decimals)
Round the input argument to the specified precision by computing the remainder modulo log10 of the di...
Definition: my_time.h:491
constexpr const int TIME_MAX_VALUE
Note that this MUST be a signed type, as we use the unary - operator on it.
Definition: my_time.h:137
bool is_time_t_valid_for_timestamp(time_t x)
Check for valid my_time_t value.
Definition: my_time.h:260
constexpr const int TIME_MAX_VALUE_SECONDS
Definition: my_time.h:140
constexpr const int64_t SECONDS_IN_24H
Useful constants.
Definition: my_time.h:127
constexpr const int TIME_MAX_SECOND
Definition: my_time.h:132
double TIME_to_double_datetime(const MYSQL_TIME &my_time)
Convert a MYSQL_TIME datetime to double where the integral part is the timepoint as an ulonglong,...
Definition: my_time.h:323
void datetime_to_time(MYSQL_TIME *ltime)
"Casts" MYSQL_TIME datetime to a MYSQL_TIME time.
Definition: my_time.h:572
unsigned long long int TIME_to_ulonglong_round(const MYSQL_TIME &my_time, int *warnings)
Round any MYSQL_TIME timepoint and convert to ulonglong.
Definition: my_time.h:290
constexpr const int MYTIME_MIN_VALUE
Zero represents the first time value we allow, i.e.
Definition: my_time.h:84
constexpr const std::int64_t TYPE_TIMESTAMP_MIN_VALUE
Definition: my_time.h:91
constexpr const my_time_flags_t TIME_NO_DATE_FRAC_WARN
Definition: my_time.h:103
constexpr const int MYTIME_MAX_YEAR
Time handling defaults.
Definition: my_time.h:63
constexpr const std::int64_t TYPE_TIMESTAMP_MAX_VALUE
max seconds from epoch that can be stored in a column of type TIMESTAMP.
Definition: my_time.h:89
bool non_zero_time(const MYSQL_TIME &my_time)
Predicate which returns true if at least one of the time members are non-zero.
Definition: my_time.h:560
constexpr const int MYSQL_TIME_WARN_OUT_OF_RANGE
Definition: my_time.h:119
constexpr const int MONS_PER_YEAR
Definition: my_time.h:153
bool valid_period(long long int period)
unsigned int my_time_flags_t
Flags to str_to_datetime and number_to_datetime.
Definition: my_time.h:94
constexpr const unsigned int WEEK_MONDAY_FIRST
Flags for calc_week() function.
Definition: my_time.h:158
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:430
constexpr const int MYSQL_TIME_WARN_ZERO_DATE
Definition: my_time.h:121
constexpr const int DAYS_PER_WEEK
Definition: my_time.h:148
constexpr const my_time_flags_t TIME_FRAC_TRUNCATE
Definition: my_time.h:102
interval_type
Available interval types used in any statement.
Definition: my_time.h:455
@ INTERVAL_HOUR_SECOND
Definition: my_time.h:470
@ INTERVAL_MONTH
Definition: my_time.h:458
@ INTERVAL_HOUR_MICROSECOND
Definition: my_time.h:473
@ INTERVAL_MINUTE
Definition: my_time.h:462
@ INTERVAL_HOUR_MINUTE
Definition: my_time.h:469
@ INTERVAL_DAY
Definition: my_time.h:460
@ INTERVAL_LAST
Definition: my_time.h:476
@ INTERVAL_MINUTE_MICROSECOND
Definition: my_time.h:474
@ INTERVAL_MINUTE_SECOND
Definition: my_time.h:471
@ INTERVAL_QUARTER
Definition: my_time.h:457
@ INTERVAL_YEAR
Definition: my_time.h:456
@ INTERVAL_WEEK
Definition: my_time.h:459
@ INTERVAL_DAY_MICROSECOND
Definition: my_time.h:472
@ INTERVAL_SECOND_MICROSECOND
Definition: my_time.h:475
@ INTERVAL_SECOND
Definition: my_time.h:463
@ INTERVAL_DAY_HOUR
Definition: my_time.h:466
@ INTERVAL_HOUR
Definition: my_time.h:461
@ INTERVAL_YEAR_MONTH
Definition: my_time.h:465
@ INTERVAL_DAY_SECOND
Definition: my_time.h:468
@ INTERVAL_MICROSECOND
Definition: my_time.h:464
@ INTERVAL_DAY_MINUTE
Definition: my_time.h:467
constexpr const int SECS_PER_MIN
Definition: my_time.h:145
constexpr const int SECS_PER_HOUR
Definition: my_time.h:151
constexpr const my_time_flags_t TIME_STRICT_COLON
Allow only HH:MM:SS or MM:SS time formats.
Definition: my_time.h:115
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
static int interval
Definition: mysqladmin.cc:65
void warning(const char *format,...)
std::string str(const mysqlrouter::ConfigGenerator::Options::Endpoint &ep)
Definition: config_generator.cc:1052
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
Cursor end()
A past-the-end Cursor.
Definition: rules_table_service.cc:192
required uint32 status
Definition: replication_asynchronous_connection_failover.proto:61
required string type
Definition: replication_group_member_actions.proto:34
Struct representing a duration.
Definition: my_time.h:228
bool neg
Definition: my_time.h:236
unsigned long long int second
Definition: my_time.h:234
unsigned long long int second_part
Definition: my_time.h:235
unsigned long int hour
Definition: my_time.h:232
unsigned long int day
Definition: my_time.h:231
unsigned long int month
Definition: my_time.h:230
unsigned long int year
Definition: my_time.h:229
unsigned long long int minute
Definition: my_time.h:233
Definition: my_time.h:174
DEPR_KIND
Definition: my_time.h:175
@ DP_SUPERFLUOUS
Definition: my_time.h:179
@ DP_WRONG_SPACE
Definition: my_time.h:178
@ DP_NONE
Definition: my_time.h:176
@ DP_WRONG_KIND
Definition: my_time.h:177
char m_delim_seen
Definition: my_time.h:181
char m_arg[40]
Definition: my_time.h:184
enum MYSQL_TIME_STATUS::DEPRECATION::DEPR_KIND DP_NONE
int m_position
Definition: my_time.h:183
bool m_colon
Definition: my_time.h:182
Structure to return status from str_to_datetime(), str_to_time(), number_to_datetime(),...
Definition: my_time.h:170
unsigned int nanoseconds
Definition: my_time.h:173
MYSQL_TIME_STATUS()=default
struct MYSQL_TIME_STATUS::DEPRECATION m_deprecation
Register wrong delimiter if it's the first we see for this value.
void squelch_deprecation()
Definition: my_time.h:221
void set_deprecation(DEPRECATION::DEPR_KIND kind, const char *arg, const char *end, const char *delim, bool colon=false)
Definition: my_time.h:192
MYSQL_TIME_STATUS & operator=(const MYSQL_TIME_STATUS &b)
Assignment: don't clobber an existing deprecation, first one wins.
Definition: my_time.h:211
int warnings
Definition: my_time.h:171
unsigned int fractional_digits
Definition: my_time.h:172
MYSQL_TIME_STATUS(const MYSQL_TIME_STATUS &)=default
Definition: mysql_time.h:82
unsigned long second_part
microseconds
Definition: mysql_time.h:84
unsigned int second
Definition: mysql_time.h:83
enum enum_mysql_timestamp_type time_type
Definition: mysql_time.h:86
unsigned int hour
Definition: mysql_time.h:83
unsigned int minute
Definition: mysql_time.h:83
unsigned int month
Definition: mysql_time.h:83
unsigned int day
Definition: mysql_time.h:83
unsigned int year
Definition: mysql_time.h:83
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
int64_t m_tv_usec
Definition: my_time_t.h:47
double seconds()
Definition: task.cc:310
Include file for Sun RPC to compile out of the box.