Skip site navigation (1) Skip section navigation (2)

Re: BUG #6612: Functions can be called inside CHECK statements

From: Greg Stark <stark(at)mit(dot)edu>
To: Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>
Cc: atrigent(at)ccs(dot)neu(dot)edu, pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #6612: Functions can be called inside CHECK statements
Date: 2012-04-25 15:48:45
Message-ID: CAM-w4HPq43NnPSE+7H1GwCZGzxCmd3Kwj_RzFZDn3UQsveHxow@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-bugs
On Wed, Apr 25, 2012 at 4:06 PM, Kevin Grittner
<Kevin(dot)Grittner(at)wicourts(dot)gov> wrote:
> A CHECK constraint using a volatile function is potentially valid
> and useful, IMO.  Think about a column which is supposed to record
> the moment of an event which has occurred.  It could make sense to
> ensure that the timestamptz value is < now();  On the other hand, an
> index entry based on now() is clearly a problem.
>
> Otherwise I agree with your response -- this is clearly *not* a bug.

Hm. I suppose it depends on what you think a constraint is. I had
always thought it was a guarantee that all the data in the table would
meet that constraint. Not just a procedural definition for something
to do at certain points in time.

But I guess I responded based on my understanding without checking
whether it was right. sorry.

Hm, but this does raise the question of whether they're the right
thing to be basing the partitioning constraint exclusion code on. I'll
speculate without checking again that we check the immutability of the
constraint before using it in constraint exclusion but that seems a
ad-hoc.


-- 
greg

In response to

Responses

pgsql-bugs by date

Next:From: Tom LaneDate: 2012-04-25 16:23:15
Subject: Re: BUG #6612: Functions can be called inside CHECK statements
Previous:From: Tom LaneDate: 2012-04-25 15:46:01
Subject: Re: BUG #6612: Functions can be called inside CHECK statements

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group