Re: Exclusion constraints with time expressions - Mailing list pgsql-general

From Albe Laurenz
Subject Re: Exclusion constraints with time expressions
Date
Msg-id D960CB61B694CF459DCFB4B0128514C208A4E94F@exadv11.host.magwien.gv.at
Whole thread Raw
In response to Exclusion constraints with time expressions  (Thomas Munro <munro@ip9.org>)
List 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


pgsql-general by date:

Previous
From: "Albe Laurenz"
Date:
Subject: Problem with streaming replication over SSL
Next
From: Magnus Hagander
Date:
Subject: Re: Problem with streaming replication over SSL