Re: temporary views

jasiek <jasiek@lamer.pl>

From: Tomasz Myrta <jasiek@lamer.pl>
To: Bruce Momjian <pgman@candle.pha.pa.us>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Peter Eisentraut <peter_e@gmx.net>, pgsql-sql@postgresql.org
Date: 2001-10-08T08:37:48Z
Lists: pgsql-sql
Bruce Momjian wrote:
> 
> We can handle the temp views thing two ways, either allow views to map
> to temp tables by name, or allow temp views to map to temp tables that
> exist at creation time and drop the views on session exit.  The original
> poster clearly wanted the first behavior, but I agree with Peter that
> the second has fewer surprises for the user and is more standard.
I think, that referring tables by names would be enough. I found another
problem connected to this. There is something like this in documetation:
"Existing permanent tables with the same name are not visible 
(in this session) while the temporary table exists." Why not to overlap
permanent table? Currently it doesn't work:

create table x (a integer);
create view y as select * from x;
select * from y;
OK
create temp table x as select * from x;
select * from y;
ERROR:  Relation "x" with OID 364752 no longer exists

 
> I have updated the TODO item to:
> 
>         * Allow temporary views
Nice to hear it.

> It would be interesting of plpgsql could try for an table match by oid
> first, and if that fails, try a match by table name and match only if a
> temp table is hit.  So basically the only table-name matching that would
> happen would be hits on temp tables.
But why only plpgsql? Would it be difficult to add it to SQL
implementation
of PostgreSQL?

Tomek