Do you remember the reasoning for this? Guess we should add synonyms to the list, with triggers and views.

Satheesh

Mamta Satoor wrote:
Hi Satheesh,
 
The behavior you are noticing with views and triggers is the documented behavior.
"DECLARE GLOBAL TEMPORARY TABLE statement is documented at
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 <[EMAIL PROTECTED]> 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.





  

Reply via email to