Kris Jurka <books(at)ejurka(dot)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?
regards, tom lane