Re: How to union tables and have a field with UNIQUE constraint?

From: Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Katona Gabor <katonag(at)dragon(dot)klte(dot)hu>, <pgsql-sql(at)postgresql(dot)org>
Subject: Re: How to union tables and have a field with UNIQUE constraint?
Date: 2002-01-03 21:44:35
Message-ID: 20020103134126.Y14151-100000@megazone23.bigpanda.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Thu, 3 Jan 2002, Tom Lane wrote:

> Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com> writes:
> > I assume you want to reference id, so you'd need to do something like:
>
> > CREATE UNIQUE INDEX t_id_key ON t(id);
>
> Do we allow that (defining an index on a view)? [ tries it ]
> Apparently so :-(
>
> I would argue that this should be disallowed, since it does not do
> anything useful and can only mislead people into thinking that it
> has some effect.

Yeah, I was surprised that it let me do it as well.

> > This is a hacky sort of way to do it (we allow you to make the internal
> > form that a unique constraint has via create index even on views which
> > I don't believe would ever be used :( ) and may not continue working
> > forever.
>
> Since triggers on a view won't do anything either, I don't see how one
> could expect REFERENCES to a view to work. The system ought to reject
> all this stuff as unimplemented.

I think that the insert/update on the fk table will work, but yeah, the
parts on the pk table won't, so that's no good. I wouldn't want to
bother for 7.2, but putting in something to make it so you can't reference
a view is probably a good idea, at least until we can work out a way
to make constraints on views work.

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Tom Lane 2002-01-03 23:26:41 Re: How to union tables and have a field with UNIQUE constraint?
Previous Message Jan Wieck 2002-01-03 21:01:02 Re: pltcl function -> plpgsql