Re: inconsistent automatic casting between psql and function

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Richard Huxton <dev(at)archonet(dot)com>
Cc: Stefano Buliani <stefano(at)covestor(dot)com>, pgsql-sql(at)postgresql(dot)org
Subject: Re: inconsistent automatic casting between psql and function
Date: 2008-12-09 18:37:01
Message-ID: 18900.1228847821@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Richard Huxton <dev(at)archonet(dot)com> writes:
> That's because a quoted literal isn't necessarily a timestamp. Without
> context it could be anything, and in the context of comparing to a date
> the planner probably tries to make it a date.

I think the real point here is this:

regression=# select '2008-12-09 02:00:00'::date;
date
------------
2008-12-09
(1 row)

ie, when it does decide that a literal should be a date, it will happily
throw away any additional time-of-day fields that might be in there.
Had it raised an error, Stefano might have figured out his mistake
sooner.

ISTM we deliberately chose this behavior awhile back, but I wonder
whether it does more harm than good.

regards, tom lane

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Jyoti Seth 2008-12-10 12:05:50 unique constraint on views
Previous Message Richard Huxton 2008-12-09 18:33:02 Re: inconsistent automatic casting between psql and function