Re: Using SUBSELECT in CHECK expressions
От | Michael Glaesemann |
---|---|
Тема | Re: Using SUBSELECT in CHECK expressions |
Дата | |
Msg-id | 59E8621A-0FB8-11D8-B410-0005029FC1A7@myrealbox.com обсуждение исходный текст |
Ответ на | Re: Using SUBSELECT in CHECK expressions (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Using SUBSELECT in CHECK expressions
|
Список | pgsql-general |
On Thursday, November 6, 2003, at 02:38 AM, Tom Lane wrote: > Michael Glaesemann <grzm@myrealbox.com> writes: >> On Wednesday, November 5, 2003, at 06:26 AM, Tom Lane wrote: >>> Just put the SELECT into a function that's called by the CHECK >>> expression. > >> Tom, you've just provided the solution to something I've been thinking >> about a lot. I really have to start thinking in terms of functions. >> Are >> there any restrictions on the function used in the CHECK, i.e., it >> must >> be STRICT or IMMUTABLE? > > IIRC we check that it is labeled IMMUTABLE. Whether it really is or > not, we cannot check (and if it uses a SELECT on tables that could > change, then of course it isn't; so you are going to need to tell a > little white lie here). > > Because of that, you need to be careful that you pass at least one > nonconstant argument to the function within the CHECK expression, else > you risk having the call constant-folded too early. Normally you'd > probably pass values from the checked row into the function, so this > doesn't seem like it should be a problem, but I could see someone > getting bit by it someday ... Thanks for the clarification. Is this in the documentation somewhere? I'm not quite used to the new documentation ordering yet. Michael grzm myrealbox com
В списке pgsql-general по дате отправления: