mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-8336 The meaning of NO_ZERO_DATE is not clear for DATETIME.
In some cases NO_ZERO_DATE did not allow datetime values with zero date part and non-zero time part (e.g. '0000-00-00 10:20:30.123456'). Allowing values of this kind in all known pieces of the code.
This commit is contained in:
@ -143,11 +143,22 @@ extern DATE_TIME_FORMAT global_time_format;
|
||||
extern KNOWN_DATE_TIME_FORMAT known_date_time_formats[];
|
||||
extern LEX_STRING interval_type_to_name[];
|
||||
|
||||
|
||||
static inline bool
|
||||
non_zero_hhmmssuu(const MYSQL_TIME *ltime)
|
||||
{
|
||||
return ltime->hour || ltime->minute || ltime->second || ltime->second_part;
|
||||
}
|
||||
static inline bool
|
||||
non_zero_YYMMDD(const MYSQL_TIME *ltime)
|
||||
{
|
||||
return ltime->year || ltime->month || ltime->day;
|
||||
}
|
||||
static inline bool
|
||||
non_zero_date(const MYSQL_TIME *ltime)
|
||||
{
|
||||
return ltime->year || ltime->month || ltime->day;
|
||||
return non_zero_YYMMDD(ltime) ||
|
||||
(ltime->time_type == MYSQL_TIMESTAMP_DATETIME &&
|
||||
non_zero_hhmmssuu(ltime));
|
||||
}
|
||||
static inline bool
|
||||
check_date(const MYSQL_TIME *ltime, ulonglong flags, int *was_cut)
|
||||
|
Reference in New Issue
Block a user