Tom Lane wrote:
> Richard Huxton <dev@archonet.com> writes:
>
>>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));
>
>
> The point is that "attr.foo" is an expression, not a column name, and
> the SQL spec allows UNIQUE and PRIMARY KEY only on bare column names.
> I don't believe you need the function -- this should be enough:
>
> CREATE UNIQUE INDEX t1_b_uniq ON t1 ((attr.foo));
I got: Relation "attr" does not exist (on 8.1 beta)
--
Richard Huxton
Archonet Ltd