diff options
author | dlenev@mysql.com <> | 2004-11-19 18:35:36 +0300 |
---|---|---|
committer | dlenev@mysql.com <> | 2004-11-19 18:35:36 +0300 |
commit | cb7e272e46fbeb99dd45aa65ea631e85479f5750 (patch) | |
tree | a195ead1015ae682d794d4a7c6022a10d363c17a /sql-common | |
parent | 03c28bf12f107d901a35d8342ce6e8c244d07247 (diff) | |
parent | b02f5aa6926ecf80748066ca9da82d90ea95f746 (diff) | |
download | mariadb-git-cb7e272e46fbeb99dd45aa65ea631e85479f5750.tar.gz |
Manual merge of fix for bug #6266 "Invalid DATETIME value is not handled
properly" with main tree.
Diffstat (limited to 'sql-common')
-rw-r--r-- | sql-common/my_time.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sql-common/my_time.c b/sql-common/my_time.c index d1a36a75a5a..29935696b7d 100644 --- a/sql-common/my_time.c +++ b/sql-common/my_time.c @@ -343,7 +343,8 @@ str_to_datetime(const char *str, uint length, MYSQL_TIME *l_time, (l_time->month || l_time->day)) l_time->year+= (l_time->year < YY_PART_YEAR ? 2000 : 1900); - if (number_of_fields < 3 || l_time->month > 12 || + if (number_of_fields < 3 || + l_time->year > 9999 || l_time->month > 12 || l_time->day > 31 || l_time->hour > 23 || l_time->minute > 59 || l_time->second > 59 || (!(flags & TIME_FUZZY_DATE) && (l_time->month == 0 || l_time->day == 0))) @@ -733,10 +734,10 @@ my_system_gmt_sec(const MYSQL_TIME *t, long *my_timezone, bool *in_dst_time_gap) /* Set MYSQL_TIME structure to 0000-00-00 00:00:00.000000 */ -void set_zero_time(MYSQL_TIME *tm) +void set_zero_time(MYSQL_TIME *tm, enum enum_mysql_timestamp_type time_type) { bzero((void*) tm, sizeof(*tm)); - tm->time_type= MYSQL_TIMESTAMP_NONE; + tm->time_type= time_type; } |