Re: temporary views
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Eisentraut <peter_e@gmx.net>
Cc: Bruce Momjian <pgman@candle.pha.pa.us>, Tomasz Myrta <jasiek@lamer.pl>, pgsql-sql@postgresql.org
Date: 2001-10-08T02:53:11Z
Lists: pgsql-sql
Peter Eisentraut <peter_e@gmx.net> writes: > Bruce Momjian writes: >> * Allow views on temporary tables to behave as temporary views > I don't think this is a good idea. Especially since our temp tables are > allowed to shadow persistent tables, it would not be obvious whether the > view you're creating with any given statement will become persistent or > temporary. > I think an explicit CREATE TEMPORARY VIEW command would be fair and safe, > but until that is done we should probably concentrate on the SQL standard > behaviour. I agree with Peter on this --- CREATE TEMP VIEW seems like a fine idea, but allowing views to be implicitly made temporary sounds like a good way to shoot yourself in the foot. ISTM a plain CREATE VIEW should always create a permanent object, and therefore should error out if it refers to any temp tables. However, there are some interesting implications here for the recurring issue of how plpgsql functions ought to interact with temp tables. We've generally thought of the current behavior as a simple shortcoming of plpgsql's query caching logic, and no doubt it is --- but what *should* the behavior be? Can a long-lived function validly refer to short-lived tables? If so, what should the semantics be, exactly? regards, tom lane