db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mamta Satoor <msat...@gmail.com>
Subject Re: [jira] Commented: (DERBY-347) Document SYNONYM support
Date Wed, 15 Jun 2005 04:33:23 GMT
Hi Satheesh,
 The behavior you are noticing with views and triggers is the documented 
behavior. 
"DECLARE GLOBAL TEMPORARY TABLE statement is documented at 
http://incubator.apache.org/derby/docs/ref/rrefdeclaretemptable.html. At the 

bottom of the page, there is a section called "Restrictions Specific to 
Derby"
and it says following for views and triggers.

Derby does not support the following on temporary tables:

   - index support 
   - *triggers and views on SESSION schema tables (including physical 
   tables and temporary tables) *

If we choose to not support SYNONYMS on temporary table, that we should add 
it 
the list. If we choose not to support SYNONYMS on any SESSION schema table,
then we should add it to the list alongwith triggers and views restriction.
 Also, the reason the index creation passed is that it was created on a 
permanent
table in SESSION schema. If it was attempted on a temporary table, you would
have gotten an exception (which is inline with the documentation, where we 
say
that there is no index support on temporary tables).
 thanks,
Mamta

 On 6/14/05, Satheesh Bandaram <satheesh@sourcery.org> wrote: 
> 
> Good point... I think many DDL statements need fixing in that case:
> 
> ij> create table session.permTable ( i int);
> 0 rows inserted/updated/deleted
> ij> *create view *view1 as select * from session.permTable;
> ERROR XCL51: The requested function can not reference tables in SESSION 
> schema.
> ij> *create trigger *trig1 after insert on session.permTable for each row 
> mode db2
> sql insert into t1 values (1);
> ERROR XCL51: The requested function can not reference tables in SESSION 
> schema.
> ij> *create synonym* syn1 for session.permTable;
> ERROR XCL51: The requested function can not reference tables in SESSION 
> schema.
> ij> *create index *indSession on session.permTable (i); <============ 
> Works correctly.
> 0 rows inserted/updated/deleted
> 
> I seem to have changed from the correct way to check in original submitted 
> patch to incorrect way in the last "cleanup"... :-( 
> 
> Satheesh 
> 
> Daniel John Debrunner wrote:
> 
> Satheesh Bandaram (JIRA) wrote:
> 
>   
> 
>     [ http://issues.apache.org/jira/browse/DERBY-347?page=comments#action_12313495 ]

> 
> Satheesh Bandaram commented on DERBY-347:
> -----------------------------------------
> 
> The patch looks good, though I would add more description to the CREATE SYNONYM section.
Can we also add the following information?
> 
>   *  A synonym can be defined for a table/view that doesn't exists at the synonym creation
time. If it doesn't exists, a warning (SQLSTATE 01522) is raised. The referenced object must
be present when a synonym is used in a DML statement.
>     
> 
> [snip]
>   
> 
>   *  A synonym can't be defined on a temporary table. (SQLSTATE XCL51)
>     
> 
> Is the temp table restriction a DDL time (CREATE SYNONYM) failure or a
> runtime (when the SYNONYM is used in a statement)?
> 
> Because error XCL51 doesn't exactly match what you describe. XCL51
> indicates the operation cannot reference a table in the SESSION schema,
> which is where temp tables are defined but that schema can also support
> normal tables.
> 
> Dan.
> 
> 
> 
> 
> 
>   
> 
>

Mime
View raw message