Secondary patch to fix interval to_char() for "HH" where hours >= 12.

This commit is contained in:
Bruce Momjian 2010-02-23 06:29:01 +00:00
parent c3a24e3143
commit 4f56dc3fb4
1 changed files with 3 additions and 2 deletions

View File

@ -1,7 +1,7 @@
/* -----------------------------------------------------------------------
* formatting.c
*
* $PostgreSQL: pgsql/src/backend/utils/adt/formatting.c,v 1.164 2010/02/23 01:42:19 momjian Exp $
* $PostgreSQL: pgsql/src/backend/utils/adt/formatting.c,v 1.165 2010/02/23 06:29:01 momjian Exp $
*
*
* Portions Copyright (c) 1999-2010, PostgreSQL Global Development Group
@ -2089,7 +2089,8 @@ DCH_to_char(FormatNode *node, bool is_interval, TmToChar *in, char *out)
case DCH_HH:
case DCH_HH12:
sprintf(s, "%0*d", S_FM(n->suffix) ? 0 : 2,
!is_interval && tm->tm_hour % (HOURS_PER_DAY / 2) == 0 ?
is_interval ? tm->tm_hour :
tm->tm_hour % (HOURS_PER_DAY / 2) == 0 ?
12 : tm->tm_hour % (HOURS_PER_DAY / 2));
if (S_THth(n->suffix))
str_numth(s, s, S_TH_TYPE(n->suffix));