*** pgsql/src/backend/utils/adt/datetime.c 2009/05/01 19:29:13 1.184.2.4 --- pgsql/src/backend/utils/adt/datetime.c 2009/08/18 21:23:28 1.184.2.5 *************** *** 8,14 **** * * * IDENTIFICATION ! * $PostgreSQL: pgsql/src/backend/utils/adt/datetime.c,v 1.184.2.3 2008/10/02 13:47:44 tgl Exp $ * *------------------------------------------------------------------------- */ --- 8,14 ---- * * * IDENTIFICATION ! * $PostgreSQL: pgsql/src/backend/utils/adt/datetime.c,v 1.184.2.4 2009/05/01 19:29:13 tgl Exp $ * *------------------------------------------------------------------------- */ *************** DecodeInterval(char **field, int *ftype, *** 2828,2833 **** --- 2828,2836 ---- break; case DTK_MILLISEC: + /* avoid overflowing the fsec field */ + tm->tm_sec += val / 1000; + val -= (val / 1000) * 1000; #ifdef HAVE_INT64_TIMESTAMP *fsec += (val + fval) * 1000; #else