Re: constraints on composite types

Поиск
Список
Период
Сортировка
От Richard Huxton
Тема Re: constraints on composite types
Дата
Msg-id 432185E2.5010000@archonet.com
обсуждение исходный текст
Ответ на constraints on composite types  (Roman Neuhauser <neuhauser@sigpipe.cz>)
Ответы Re: constraints on composite types  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
Roman Neuhauser wrote:
> This fails on 8.0.3 (syntax error at or near "." at character):
>
> CREATE TYPE ct AS (
>   foo INTEGER,
>   bar INTEGER
> );
>
> CREATE TABLE t1 (
>   attr ct,
>   CONSTRAINT uq UNIQUE (attr.foo)
> );
>
> Should it be possible? From reading
> http://www.postgresql.org/docs/current/static/rowtypes.html it looks
> like almost everything else works.

You might get somewhere with:

CREATE OR REPLACE FUNCTION testfunc(ct) RETURNS int AS
'SELECT $1.foo;'
LANGUAGE SQL IMMUTABLE;

CREATE UNIQUE INDEX t1_b_uniq ON t1 (testfunc(b));

Seems to work on 8.1beta - haven't tried on version 8, but if the syntax
is accepted I don't see why not.
--
   Richard Huxton
   Archonet Ltd

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

Предыдущее
От: Michael Fuhr
Дата:
Сообщение: Re: Is this a bug or am I doing something wrong?
Следующее
От: "John D. Burger"
Дата:
Сообщение: Re: SQL - planet redundant data