From: | "Albe Laurenz" <laurenz(dot)albe(at)wien(dot)gv(dot)at> |
---|---|
To: | "Thomas Munro *EXTERN*" <munro(at)ip9(dot)org>, <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Exclusion constraints with time expressions |
Date: | 2012-11-06 09:57:02 |
Message-ID: | D960CB61B694CF459DCFB4B0128514C208A4E94F@exadv11.host.magwien.gv.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Thomas Munro wrote:
> I am using 9.1.6, and I've set up a partitioned table as described in
the manual, with partitions
> based on a timestamptz column called 'time'. The exclusion
constraints work nicely when I select
> ranges of times with literal constants. But why would a WHERE clause
like the following not benefit
> from exclusion constraints?
>
> time > TIMESTAMPTZ '2012-11-03 00:00:00Z' + INTERVAL '24 hours'
>
>
> Isn't that expression on the right reducible to a constant up front?
Obviously I can use a host
> language to do the arithmetic and provide a constant, but I am curious
to understand why that wouldn't
> be constant-folded.
I think the problem is that this + operator is implemented
by the function "timestamptz_pl_interval", which is STABLE
but not IMMUTABLE.
I am not sure why this function cannot be IMMUTABLE, it
seems to me that it should be.
Yours,
Laurenz Albe
From | Date | Subject | |
---|---|---|---|
Next Message | Magnus Hagander | 2012-11-06 10:01:38 | Re: Problem with streaming replication over SSL |
Previous Message | Albe Laurenz | 2012-11-06 09:47:50 | Problem with streaming replication over SSL |