Index: datetime.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/utils/adt/datetime.c,v
retrieving revision 1.206
diff -c -r1.206 datetime.c
*** datetime.c	1 Jun 2009 16:55:11 -0000	1.206
--- datetime.c	9 Jun 2009 22:47:50 -0000
***************
*** 2917,2933 ****
  							break;
  						case INTERVAL_MASK(HOUR):
  						case INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR):
- 						case INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE):
- 						case INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND):
  							type = DTK_HOUR;
  							break;
  						case INTERVAL_MASK(MINUTE):
  						case INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE):
  							type = DTK_MINUTE;
  							break;
  						case INTERVAL_MASK(SECOND):
- 						case INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND):
  						case INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND):
  							type = DTK_SECOND;
  							break;
  						default:
--- 2917,2933 ----
  							break;
  						case INTERVAL_MASK(HOUR):
  						case INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR):
  							type = DTK_HOUR;
  							break;
  						case INTERVAL_MASK(MINUTE):
  						case INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE):
+ 						case INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE):
  							type = DTK_MINUTE;
  							break;
  						case INTERVAL_MASK(SECOND):
  						case INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND):
+ 						case INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND):
+ 						case INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND):
  							type = DTK_SECOND;
  							break;
  						default:
