Re: constraint definition on an array column?

Поиск
Список
Период
Сортировка
От Merlin Moncure
Тема Re: constraint definition on an array column?
Дата
Msg-id b42b73150909110851m1c4e88e2kced995798ecd3d69@mail.gmail.com
обсуждение исходный текст
Ответ на constraint definition on an array column?  ("Gauthier, Dave" <dave.gauthier@intel.com>)
Список pgsql-general
On Fri, Sep 11, 2009 at 10:34 AM, Gauthier, Dave
<dave.gauthier@intel.com> wrote:
> Hi:
>
> Is it possible to define a constraint that checks all elements of an array
> type column?
>
> Example...
>
>
>
> create table foo (asset text, owner_uids text[]);
>
>
>
> I also have a  plperlu function that checks to see if a given uid is valid
> (returns a 0/1).  It’s called validate_uid(text),  This function could be
> modified to handle a list of uids if that was needed.
>
>
>
> I want something like...
>
>
>
> constraint validate_all_owner_uids check (select validate_uid(owner_uid) =
> 1)
>
>
>
> ...but owner_uid is an array, not any one distinct value.
>
>
>
> 1)     Is there a way to pass in a list for the plperlu to evaluate (return
> 0 if any uid is invalid)?
>
> 2)     Is there some sort of syntactical support for defining constraints on
> array columns?

there doesn't have to be.  since a constraint can invoke a function
(preferably immutable), you can do anything you want regarding
validating the array.

merlin

В списке pgsql-general по дате отправления:

Предыдущее
От: Raymond O'Donnell
Дата:
Сообщение: Re: return multiple rows
Следующее
От: erik
Дата:
Сообщение: 8.3.7 server fails to start on Snow Leopard 10.6.1