Re: Proposal for SYNONYMS - Mailing list pgsql-hackers

From Ragnar
Subject Re: Proposal for SYNONYMS
Date
Msg-id 1142032895.18656.194.camel@localhost.localdomain
Whole thread Raw
In response to Re: Proposal for SYNONYMS  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On fös, 2006-03-10 at 16:51 -0500, Tom Lane wrote:
> Kris Jurka <books@ejurka.com> writes:
> > One key difference would be that synonyms track schema updates, like 
> > adding a column, to the referenced object that a view would not.
> 
> That raises a fairly interesting point, actually.  What would you expect
> to happen here:
> 
>     CREATE TABLE foo ...;
>     CREATE SYNONYM bar FOR foo;
>     CREATE VIEW v AS SELECT * FROM bar;
>     DROP SYNONYM bar;
> 
> With the implementations being proposed, v would effectively be stored
> as "SELECT * FROM foo" and thus would be unaffected by the DROP SYNONYM.
> Is that what people will expect?  Is it what happens in Oracle?


At least on Oracle8, you could create a synonym on a 
non-existing table, so if table FOO does not exist:

CREATE SYNONYM BAR FOR FOO;  -- no error
SELECT * FROM BAR;  -- error "synonym translation is no longuer valid"
CREATE TABLE FOO (a varchar2(10));
INSERT INTO FOO VALUES ('a');
SELECT * FROM BAR; -- no error
CREATE VIEW X AS SELECT * FROM BAR;
SELECT * FROM X; -- no error
DROP SYNONYM X; -- no error
SELECT * FROM BAR; -- error

gnari




pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Proposal for SYNONYMS
Next
From: Tom Lane
Date:
Subject: Re: problem with large maintenance_work_mem settings and