mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-8658 DATE(zerofill_column) and DATE(COALESCE(zerofill_column)) return different results
MDEV-8660 TIME(int_zerofill_column) returns a wrong result
This commit is contained in:
18
sql/field.cc
18
sql/field.cc
@ -1992,6 +1992,16 @@ my_decimal* Field_num::val_decimal(my_decimal *decimal_value)
|
||||
}
|
||||
|
||||
|
||||
bool Field_num::get_date(MYSQL_TIME *ltime,ulonglong fuzzydate)
|
||||
{
|
||||
ASSERT_COLUMN_MARKED_FOR_READ;
|
||||
longlong nr= val_int();
|
||||
bool neg= !(flags & UNSIGNED_FLAG) && nr < 0;
|
||||
return int_to_datetime_with_warn(neg, neg ? -nr : nr, ltime, fuzzydate,
|
||||
field_name);
|
||||
}
|
||||
|
||||
|
||||
Field_str::Field_str(uchar *ptr_arg,uint32 len_arg, uchar *null_ptr_arg,
|
||||
uchar null_bit_arg, utype unireg_check_arg,
|
||||
const char *field_name_arg, CHARSET_INFO *charset_arg)
|
||||
@ -3217,6 +3227,14 @@ String *Field_new_decimal::val_str(String *val_buffer,
|
||||
}
|
||||
|
||||
|
||||
bool Field_new_decimal::get_date(MYSQL_TIME *ltime, ulonglong fuzzydate)
|
||||
{
|
||||
my_decimal value;
|
||||
return decimal_to_datetime_with_warn(val_decimal(&value),
|
||||
ltime, fuzzydate, field_name);
|
||||
}
|
||||
|
||||
|
||||
int Field_new_decimal::cmp(const uchar *a,const uchar*b)
|
||||
{
|
||||
return memcmp(a, b, bin_size);
|
||||
|
Reference in New Issue
Block a user