| 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: | Whole Thread | Raw Message | 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
| 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 |