Fix for Bug#11326.

parent d3467c0b
...@@ -473,3 +473,21 @@ NULL ...@@ -473,3 +473,21 @@ NULL
select str_to_date( 1, IF(1=1,NULL,NULL) ); select str_to_date( 1, IF(1=1,NULL,NULL) );
str_to_date( 1, IF(1=1,NULL,NULL) ) str_to_date( 1, IF(1=1,NULL,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
...@@ -276,3 +276,14 @@ select str_to_date( 1, NULL ); ...@@ -276,3 +276,14 @@ select str_to_date( 1, NULL );
select str_to_date( NULL, 1 ); select str_to_date( NULL, 1 );
select str_to_date( 1, IF(1=1,NULL,NULL) ); select str_to_date( 1, IF(1=1,NULL,NULL) );
# End of 4.1 tests # 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');
...@@ -620,7 +620,8 @@ bool make_date_time(DATE_TIME_FORMAT *format, TIME *l_time, ...@@ -620,7 +620,8 @@ bool make_date_time(DATE_TIME_FORMAT *format, TIME *l_time,
case 'r': case 'r':
length= my_sprintf(intbuff, length= my_sprintf(intbuff,
(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->hour+11)%12+1,
l_time->minute, l_time->minute,
l_time->second)); l_time->second));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment