Gavin Sherry wrote:
> Hi all,
> 
> I'm thinking that temporary views should be pretty trivial to
> implement.
> 
> * Allow temporary views
> 
> This should be as simple as modifying gram.y (to set
> ViewStmt->view->istemp) and some logic in RemoveTempRelations() to remove
> the view's rule

Yep, pretty simple.

> * Require view using temporary tables to be temporary views
> 
> This is the non-trivial part. If you are creating a view on just a
> temporary table there's no problem. But what happens when do the
> following?
> 
> CREATE VIEW abc AS select * from tab1,tab2,temp_tab3 ...
> 
> SQL99 avoids this with syntax rule 6 of 11.21 <view definition>
> 
>       No <table reference> generally contained in the <query expression> shall
>       identify any declared local temporary table.
> 
> There are a few ways it could be implemented:
> 
> 1) SQL99
> 2) Views whose <query epression> contains one or more <table references>
> to temporary tables are created as temporary views
> 3) Views whose <query epression> contains one or more <table references>
> to temporary tables must be explicitly include the TEMP[ORARY] syntax.

The idea is that if the temp table goes away, we don't want the view
continuing to exist.  I think if there are any temp tables in the view,
the view _has_ to be specified by the user as temporary, or we throw an
error telling them it has to be temporary.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to