Commit b275e4f0 authored by unknown's avatar unknown
Browse files

Merge mysql.com:/usr/home/ram/work/bug21789/my41-bug21789

into  mysql.com:/usr/home/ram/work/bug21789/my50-bug21789


mysql-test/r/date_formats.result:
  Auto merged
sql-common/my_time.c:
  merging
parents 00820e2b 2bd1c73e
Loading
Loading
Loading
Loading
+39 −18
Original line number Diff line number Diff line
@@ -186,12 +186,12 @@ date format datetime
2003-01-02 02:11:12.12345AM	%Y-%m-%d %h:%i:%S.%f %p	2003-01-02 02:11:12.123450
2003-01-02 12:11:12.12345 am	%Y-%m-%d %h:%i:%S.%f%p	2003-01-02 00:11:12.123450
2003-01-02 11:11:12Pm	%Y-%m-%d %h:%i:%S%p	2003-01-02 23:11:12
10:20:10	%H:%i:%s	0000-00-00 10:20:10
10:20:10	%h:%i:%s.%f	0000-00-00 10:20:10
10:20:10	%T	0000-00-00 10:20:10
10:20:10AM	%h:%i:%s%p	0000-00-00 10:20:10
10:20:10AM	%r	0000-00-00 10:20:10
10:20:10.44AM	%h:%i:%s.%f%p	0000-00-00 10:20:10.440000
10:20:10	%H:%i:%s	0000-00-00 00:00:00
10:20:10	%h:%i:%s.%f	0000-00-00 00:00:00
10:20:10	%T	0000-00-00 00:00:00
10:20:10AM	%h:%i:%s%p	0000-00-00 00:00:00
10:20:10AM	%r	0000-00-00 00:00:00
10:20:10.44AM	%h:%i:%s.%f%p	0000-00-00 00:00:00
15-01-2001 12:59:58	%d-%m-%Y %H:%i:%S	2001-01-15 12:59:58
15 September 2001	%d %M %Y	2001-09-15 00:00:00
15 SEPTEMB 2001	%d %M %Y	2001-09-15 00:00:00
@@ -208,6 +208,13 @@ Tuesday 52 2001 %W %V %X 2002-01-01 00:00:00
15-01-2001	%d-%m-%Y %H:%i:%S	2001-01-15 00:00:00
15-01-20	%d-%m-%y	2020-01-15 00:00:00
15-2001-1	%d-%Y-%c	2001-01-15 00:00:00
Warnings:
Warning	1292	Truncated incorrect datetime value: '0000-00-00 10:20:10'
Warning	1292	Truncated incorrect datetime value: '0000-00-00 10:20:10'
Warning	1292	Truncated incorrect datetime value: '0000-00-00 10:20:10'
Warning	1292	Truncated incorrect datetime value: '0000-00-00 10:20:10'
Warning	1292	Truncated incorrect datetime value: '0000-00-00 10:20:10'
Warning	1292	Truncated incorrect datetime value: '0000-00-00 10:20:10.440000'
select date,format,DATE(str_to_date(date, format)) as date2 from t1;
date	format	date2
2003-01-02 10:11:12	%Y-%m-%d %H:%i:%S	2003-01-02
@@ -248,12 +255,12 @@ date format time
2003-01-02 02:11:12.12345AM	%Y-%m-%d %h:%i:%S.%f %p	02:11:12.123450
2003-01-02 12:11:12.12345 am	%Y-%m-%d %h:%i:%S.%f%p	00:11:12.123450
2003-01-02 11:11:12Pm	%Y-%m-%d %h:%i:%S%p	23:11:12
10:20:10	%H:%i:%s	10:20:10
10:20:10	%h:%i:%s.%f	10:20:10
10:20:10	%T	10:20:10
10:20:10AM	%h:%i:%s%p	10:20:10
10:20:10AM	%r	10:20:10
10:20:10.44AM	%h:%i:%s.%f%p	10:20:10.440000
10:20:10	%H:%i:%s	NULL
10:20:10	%h:%i:%s.%f	NULL
10:20:10	%T	NULL
10:20:10AM	%h:%i:%s%p	NULL
10:20:10AM	%r	NULL
10:20:10.44AM	%h:%i:%s.%f%p	NULL
15-01-2001 12:59:58	%d-%m-%Y %H:%i:%S	12:59:58
15 September 2001	%d %M %Y	00:00:00
15 SEPTEMB 2001	%d %M %Y	00:00:00
@@ -270,6 +277,13 @@ Tuesday 52 2001 %W %V %X 00:00:00
15-01-2001	%d-%m-%Y %H:%i:%S	00:00:00
15-01-20	%d-%m-%y	00:00:00
15-2001-1	%d-%Y-%c	00:00:00
Warnings:
Warning	1292	Truncated incorrect time value: '0000-00-00 10:20:10'
Warning	1292	Truncated incorrect time value: '0000-00-00 10:20:10'
Warning	1292	Truncated incorrect time value: '0000-00-00 10:20:10'
Warning	1292	Truncated incorrect time value: '0000-00-00 10:20:10'
Warning	1292	Truncated incorrect time value: '0000-00-00 10:20:10'
Warning	1292	Truncated incorrect time value: '0000-00-00 10:20:10.440000'
select date,format,concat(TIME(str_to_date(date, format))) as time2 from t1;
date	format	time2
2003-01-02 10:11:12	%Y-%m-%d %H:%i:%S	10:11:12
@@ -279,12 +293,12 @@ date format time2
2003-01-02 02:11:12.12345AM	%Y-%m-%d %h:%i:%S.%f %p	02:11:12.123450
2003-01-02 12:11:12.12345 am	%Y-%m-%d %h:%i:%S.%f%p	00:11:12.123450
2003-01-02 11:11:12Pm	%Y-%m-%d %h:%i:%S%p	23:11:12
10:20:10	%H:%i:%s	10:20:10
10:20:10	%h:%i:%s.%f	10:20:10
10:20:10	%T	10:20:10
10:20:10AM	%h:%i:%s%p	10:20:10
10:20:10AM	%r	10:20:10
10:20:10.44AM	%h:%i:%s.%f%p	10:20:10.440000
10:20:10	%H:%i:%s	NULL
10:20:10	%h:%i:%s.%f	NULL
10:20:10	%T	NULL
10:20:10AM	%h:%i:%s%p	NULL
10:20:10AM	%r	NULL
10:20:10.44AM	%h:%i:%s.%f%p	NULL
15-01-2001 12:59:58	%d-%m-%Y %H:%i:%S	12:59:58
15 September 2001	%d %M %Y	00:00:00
15 SEPTEMB 2001	%d %M %Y	00:00:00
@@ -301,6 +315,13 @@ Tuesday 52 2001 %W %V %X 00:00:00
15-01-2001	%d-%m-%Y %H:%i:%S	00:00:00
15-01-20	%d-%m-%y	00:00:00
15-2001-1	%d-%Y-%c	00:00:00
Warnings:
Warning	1292	Truncated incorrect time value: '0000-00-00 10:20:10'
Warning	1292	Truncated incorrect time value: '0000-00-00 10:20:10'
Warning	1292	Truncated incorrect time value: '0000-00-00 10:20:10'
Warning	1292	Truncated incorrect time value: '0000-00-00 10:20:10'
Warning	1292	Truncated incorrect time value: '0000-00-00 10:20:10'
Warning	1292	Truncated incorrect time value: '0000-00-00 10:20:10.440000'
select concat('',str_to_date('8:11:2.123456 03-01-02','%H:%i:%S.%f %y-%m-%d'));
concat('',str_to_date('8:11:2.123456 03-01-02','%H:%i:%S.%f %y-%m-%d'))
2003-01-02 08:11:02.123456
+3 −1
Original line number Diff line number Diff line
@@ -411,7 +411,9 @@ str_to_datetime(const char *str, uint length, MYSQL_TIME *l_time,
  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)
      l_time->minute > 59 || l_time->second > 59 ||
      (l_time->year == 0 && l_time->month == 0 && l_time->day == 0 && 
       (l_time->hour != 0 || l_time->minute != 0 || l_time->second != 0)))
  {
    /* Only give warning for a zero date if there is some garbage after */
    if (!not_zero_date)                         /* If zero date */