All of these statements produce 'f' for me as well, via 8.2.1 on RHEL 4.

select ((now() - '1 day'::interval)::timestamp - now()) < 0;
select ((now() - '1 day'::interval)::timestamptz - now()) < 0;
select ('-1 days'::interval)  < 0;

But all of these return 't':

select ((now() - '1 day'::interval)::timestamp - now()) < '0'::interval;
select ((now() - '1 day'::interval)::timestamptz - now()) <
'0'::interval;
select ('-1 days'::interval)  < '0'::interval;




-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Merlin Moncure
Sent: Tuesday, February 20, 2007 8:30 AM
To: Tom Lane
Cc: postgres general
Subject: Re: [GENERAL] boolean operator on interval producing strange
results


On 2/19/07, Tom Lane <[EMAIL PROTECTED]> wrote:
> "Merlin Moncure" <[EMAIL PROTECTED]> writes:
> > #  select ((now() - '1 day'::interval)::timestamp - now()) < 0;
> >  ?column?
> > ----------
> >  f  <-- looks busted to me
> > (1 row)
>
> If you'd casted to timestamptz then I'd agree this is busted.
> As-is, it might have something to do with your timezone setting,
> which you didn't mention?

show timezone reports us/eastern in both cases.  also, i don't really
see how this matters, since we are comparing '-1 days'::interval with
0 in both cases. in fact:

# show timezone;
  TimeZone
------------
 US/Eastern
(1 row)

#  select ('-1 days'::interval)  < 0;
 ?column?
----------
 f
(1 row)

as it happens, after months and months of faithful service, this
machine decided to dump core last night.  so, we are scheduling some
downtime + yum update. (my previous mail was wrong, production was the
non-updated box).  this is the only environmental difference I can
think of.  At the very least I can report back if this fixes the
problem.

merlin

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

               http://archives.postgresql.org/


---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to [EMAIL PROTECTED] so that your
       message can get through to the mailing list cleanly

Reply via email to