mirror of
https://github.com/MariaDB/server.git
synced 2026-05-14 19:07:15 +02:00
MDEV-4667 DATE('string') incompability between mysql and mariadb
Cleanup: remove TIME_FUZZY_DATE. Introduce TIME_FUZZY_DATES which means "very fuzzy, the resulting value is only used for comparison. It can be invalid date, fine, as long as it can be compared". Updated many tests results (they're better now).
This commit is contained in:
parent
cfae3065d7
commit
78cc6db44a
24 changed files with 125 additions and 111 deletions
|
|
@ -3549,7 +3549,7 @@ static void fetch_string_with_conversion(MYSQL_BIND *param, char *value,
|
|||
case MYSQL_TYPE_TIME:
|
||||
{
|
||||
MYSQL_TIME *tm= (MYSQL_TIME *)buffer;
|
||||
str_to_time(value, length, tm, TIME_FUZZY_DATE, &err);
|
||||
str_to_time(value, length, tm, 0, &err);
|
||||
*param->error= test(err);
|
||||
break;
|
||||
}
|
||||
|
|
@ -3558,7 +3558,7 @@ static void fetch_string_with_conversion(MYSQL_BIND *param, char *value,
|
|||
case MYSQL_TYPE_TIMESTAMP:
|
||||
{
|
||||
MYSQL_TIME *tm= (MYSQL_TIME *)buffer;
|
||||
(void) str_to_datetime(value, length, tm, TIME_FUZZY_DATE, &err);
|
||||
(void) str_to_datetime(value, length, tm, 0, &err);
|
||||
*param->error= test(err) && (param->buffer_type == MYSQL_TYPE_DATE &&
|
||||
tm->time_type != MYSQL_TIMESTAMP_DATE);
|
||||
break;
|
||||
|
|
@ -3681,9 +3681,7 @@ static void fetch_long_with_conversion(MYSQL_BIND *param, MYSQL_FIELD *field,
|
|||
case MYSQL_TYPE_DATETIME:
|
||||
{
|
||||
int error;
|
||||
value= number_to_datetime(value, 0,
|
||||
(MYSQL_TIME *) buffer, TIME_FUZZY_DATE,
|
||||
&error);
|
||||
value= number_to_datetime(value, 0, (MYSQL_TIME *) buffer, 0, &error);
|
||||
*param->error= test(error);
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue