summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorunknown <ramil/ram@mysql.com/ramil.myoffice.izhnet.ru>2007-02-08 11:56:18 +0400
committerunknown <ramil/ram@mysql.com/ramil.myoffice.izhnet.ru>2007-02-08 11:56:18 +0400
commit34d20085f320334e7d6e561d8f85a90f31fa784a (patch)
tree6300cc8b4cce39b06e735126668d78b5934cb6e2 /mysql-test
parent31aee856d83684d4f53e6037d02e1240f694e7cb (diff)
downloadmariadb-git-34d20085f320334e7d6e561d8f85a90f31fa784a.tar.gz
Fix for bug #25301: Non-zero dates with year 0000 are invalid
The 0000 year is valid. The ISO standard for "Representation of dates and times" says: "Calendar years are numbered in ascending order according to the Gregorian calendar by values in the range [0000] to [9999]." Reverted fix for 21789: DATETIME with 0000-00-00 11:22:33 should be invalid, but is accepted as it's not a bug. Fix for 19370: DateTime datatype in MySQL has two bugs in it will be reverted during 4.1 -> 5.0 merging as it was pushed to the 5.0 tree. mysql-test/r/date_formats.result: Fix for bug #25301: Non-zero dates with year 0000 are invalid - reverted fix for bug #21789: DATETIME with 0000-00-00 11:22:33 should be invalid, but is accepted sql-common/my_time.c: Fix for bug #25301: Non-zero dates with year 0000 are invalid - reverted fix for bug #21789: DATETIME with 0000-00-00 11:22:33 should be invalid, but is accepted
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/r/date_formats.result57
1 files changed, 18 insertions, 39 deletions
diff --git a/mysql-test/r/date_formats.result b/mysql-test/r/date_formats.result
index d4f9a4f0c56..07cc37fe6bc 100644
--- a/mysql-test/r/date_formats.result
+++ b/mysql-test/r/date_formats.result
@@ -181,12 +181,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 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
+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
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
@@ -203,13 +203,6 @@ 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
@@ -250,12 +243,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 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
+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
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
@@ -272,13 +265,6 @@ 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
@@ -288,12 +274,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 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
+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
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
@@ -310,13 +296,6 @@ 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