summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <kroki@mysql.com>2006-05-05 11:35:38 +0400
committerunknown <kroki@mysql.com>2006-05-05 11:35:38 +0400
commit5f7fec791e40c62e678a17caae999b5608538832 (patch)
treeb5a4871992ff8eab5b26a9bde1069dc33a33d31e
parent144d2ec9ee30ef949d79c33b8b5ebb0955b55b5f (diff)
parente38edaefed4a74c6b21fc92c98468016a6090631 (diff)
downloadmariadb-git-5f7fec791e40c62e678a17caae999b5608538832.tar.gz
Merge mysql.com:/home/tomash/src/mysql_ab/mysql-4.1
into mysql.com:/home/tomash/src/mysql_ab/mysql-4.1-bug16501
-rwxr-xr-xDocs/changelog-4.0.xml18
-rwxr-xr-xDocs/changelog-4.1.xml18
-rw-r--r--mysql-test/r/date_formats.result36
-rw-r--r--mysql-test/t/date_formats.test22
-rw-r--r--sql/item_timefunc.cc5
5 files changed, 61 insertions, 38 deletions
diff --git a/Docs/changelog-4.0.xml b/Docs/changelog-4.0.xml
deleted file mode 100755
index f0f9aa881f1..00000000000
--- a/Docs/changelog-4.0.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
-"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
-<!--
-This is a dummy changelog file. Don't use it yet.
-It merges upward without conflict.
--->
-<appendix id="news-4-0-x">
-
- <title>
- Changes in release 4.0.x
- </title>
-
- <para>
- This is a dummy changelog file. Don't use it yet.
- </para>
-
-</appendix>
diff --git a/Docs/changelog-4.1.xml b/Docs/changelog-4.1.xml
deleted file mode 100755
index 644f2940d0f..00000000000
--- a/Docs/changelog-4.1.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
-"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
-<!--
-This is a dummy changelog file. Don't use it yet.
-It merges upward without conflict.
--->
-<appendix id="news-4-1-x">
-
- <title>
- Changes in release 4.1.x
- </title>
-
- <para>
- This is a dummy changelog file. Don't use it yet.
- </para>
-
-</appendix>
diff --git a/mysql-test/r/date_formats.result b/mysql-test/r/date_formats.result
index 014eeed27e7..24abdfcf148 100644
--- a/mysql-test/r/date_formats.result
+++ b/mysql-test/r/date_formats.result
@@ -473,3 +473,39 @@ NULL
select str_to_date( 1, IF(1=1,NULL,NULL) );
str_to_date( 1, IF(1=1,NULL,NULL) )
NULL
+SELECT TIME_FORMAT("24:00:00", '%r');
+TIME_FORMAT("24:00:00", '%r')
+12:00:00 AM
+SELECT TIME_FORMAT("00:00:00", '%r');
+TIME_FORMAT("00:00:00", '%r')
+12:00:00 AM
+SELECT TIME_FORMAT("12:00:00", '%r');
+TIME_FORMAT("12:00:00", '%r')
+12:00:00 PM
+SELECT TIME_FORMAT("15:00:00", '%r');
+TIME_FORMAT("15:00:00", '%r')
+03:00:00 PM
+SELECT TIME_FORMAT("01:00:00", '%r');
+TIME_FORMAT("01:00:00", '%r')
+01:00:00 AM
+SELECT TIME_FORMAT("25:00:00", '%r');
+TIME_FORMAT("25:00:00", '%r')
+01:00:00 AM
+SELECT TIME_FORMAT("00:00:00", '%l %p');
+TIME_FORMAT("00:00:00", '%l %p')
+12 AM
+SELECT TIME_FORMAT("01:00:00", '%l %p');
+TIME_FORMAT("01:00:00", '%l %p')
+1 AM
+SELECT TIME_FORMAT("12:00:00", '%l %p');
+TIME_FORMAT("12:00:00", '%l %p')
+12 PM
+SELECT TIME_FORMAT("23:00:00", '%l %p');
+TIME_FORMAT("23:00:00", '%l %p')
+11 PM
+SELECT TIME_FORMAT("24:00:00", '%l %p');
+TIME_FORMAT("24:00:00", '%l %p')
+12 AM
+SELECT TIME_FORMAT("25:00:00", '%l %p');
+TIME_FORMAT("25:00:00", '%l %p')
+1 AM
diff --git a/mysql-test/t/date_formats.test b/mysql-test/t/date_formats.test
index 78b4482a94a..f3d507e69e6 100644
--- a/mysql-test/t/date_formats.test
+++ b/mysql-test/t/date_formats.test
@@ -276,3 +276,25 @@ select str_to_date( 1, NULL );
select str_to_date( NULL, 1 );
select str_to_date( 1, IF(1=1,NULL,NULL) );
# End of 4.1 tests
+
+#
+# Bug#11326
+#
+
+SELECT TIME_FORMAT("24:00:00", '%r');
+SELECT TIME_FORMAT("00:00:00", '%r');
+SELECT TIME_FORMAT("12:00:00", '%r');
+SELECT TIME_FORMAT("15:00:00", '%r');
+SELECT TIME_FORMAT("01:00:00", '%r');
+SELECT TIME_FORMAT("25:00:00", '%r');
+
+#
+# Bug#11324
+#
+
+SELECT TIME_FORMAT("00:00:00", '%l %p');
+SELECT TIME_FORMAT("01:00:00", '%l %p');
+SELECT TIME_FORMAT("12:00:00", '%l %p');
+SELECT TIME_FORMAT("23:00:00", '%l %p');
+SELECT TIME_FORMAT("24:00:00", '%l %p');
+SELECT TIME_FORMAT("25:00:00", '%l %p');
diff --git a/sql/item_timefunc.cc b/sql/item_timefunc.cc
index f3d6858755c..670fb94fc2c 100644
--- a/sql/item_timefunc.cc
+++ b/sql/item_timefunc.cc
@@ -609,7 +609,7 @@ bool make_date_time(DATE_TIME_FORMAT *format, TIME *l_time,
break;
case 'l':
days_i= l_time->hour/24;
- hours_i= (l_time->hour%24 + 11)%12+1 + 24*days_i;
+ hours_i= (l_time->hour%24 + 11)%12+1;
length= int10_to_str(hours_i, intbuff, 10) - intbuff;
str->append_with_prefill(intbuff, length, 1, '0');
break;
@@ -620,7 +620,8 @@ bool make_date_time(DATE_TIME_FORMAT *format, TIME *l_time,
case 'r':
length= my_sprintf(intbuff,
(intbuff,
- (l_time->hour < 12) ? "%02d:%02d:%02d AM" : "%02d:%02d:%02d PM",
+ ((l_time->hour % 24) < 12) ?
+ "%02d:%02d:%02d AM" : "%02d:%02d:%02d PM",
(l_time->hour+11)%12+1,
l_time->minute,
l_time->second));