Tom Lane <[EMAIL PROTECTED]> writes:
> Tilo Schwarz <[EMAIL PROTECTED]> writes:
>> tschwarz=> select '-0.1'::interval;
>> interval
>> -------------
>> 00:00:00.10   <---
>> (1 row)

> This is incontestably a bug.  Will fix for 7.4.1.

I've applied the attached patch to 7.4 and HEAD.  It'd probably work in
7.3 as well, but I didn't look.

                        regards, tom lane

*** src/backend/utils/adt/datetime.c.orig       Sat Nov 29 14:51:58 2003
--- src/backend/utils/adt/datetime.c    Wed Dec 17 16:33:25 2003
***************
*** 3005,3011 ****
                                        if (*cp != '\0')
                                                return DTERR_BAD_FORMAT;
  
!                                       if (val < 0)
                                                fval = -(fval);
                                }
                                else if (*cp == '\0')
--- 3005,3011 ----
                                        if (*cp != '\0')
                                                return DTERR_BAD_FORMAT;
  
!                                       if (*field[i] == '-')
                                                fval = -(fval);
                                }
                                else if (*cp == '\0')

---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings

Reply via email to