Thread: Domains and Joins

Domains and Joins

From
chester c young
Date:
-- standard setup:
create table t1( c1 int primary key, data text );
create domain dom_c1 int references t1 on delete cascade;
create table t2( c2 int primary key, c1 dom_c1, moredata text );

-- will not work with "using"
create view v1 as select t1.*, t2.moredata
from t1 join t2 using( c1 );

-- will work with "on"
create view v1 as select t1.*, t2.moredata
from t1 join t2 on t1.c1 = t2.c1;

is this right?


__________________________________
Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook(TM).
http://calendar.yahoo.com


Re: Domains and Joins

From
Rod Taylor
Date:
On Thu, 2003-06-05 at 17:38, chester c young wrote:
> -- standard setup:
> create table t1( c1 int primary key, data text );
> create domain dom_c1 int references t1 on delete cascade;

This won't work. Domains support NOT NULL, and CHECK constraints.

Foreign keys are not allowed on domains at this time in PostgreSQL or in
the SQL99 spec.

> create table t2( c2 int primary key, c1 dom_c1, moredata text );

> -- will not work with "using"
> create view v1 as select t1.*, t2.moredata
> from t1 join t2 using( c1 );

It appears to be a complaint about mis-matched datatypes, which is
partially true.  It's also a problem in 7.4.  I'll see what I can do to
fix it.

--
Rod Taylor <rbt@rbt.ca>

PGP Key: http://www.rbt.ca/rbtpub.asc