Romulo Goncalves wrote:
> Dear developers,

> 
> SQL with procedures (function...) can almost be considered a programming 
> language so it is not our responsibility to kill loops created by users 
> SQL code. If an user see a infinite loop he has to construct the schema 
> in such way that the infinite loops are avoided.
> 
> 
> Another point is the restriction that we created for recursive triggers 
> (we only allow at least one call for each trigger in each statement 
> execution) which I think it is not correct.
This is the DB2 semantics.

A lot of research went into triggers and semantics. Consensus was indeed
that triggers are too much a programming feature, which allows upfront
analysis limited and protection against 'loops' unavoidable. The advise
is to only use triggers to update derived tables (e.g. warehouses)

> Imagine that the user has an "if clause" to recursively fire a trigger 
> 10 times and after that 10 times the trigger is not fired anymore. 
> Should we restrict this example in our system? I do not think so.
> However, If the clause check is wrong and an infinite loop is created it 
> is the user who has to correct his schema.
> 
> The big conclusion of the day is:
> More programing language features do we offer to the user less control 
> we have over his SQL code.
> 
> If everyone agree I will close the bug infinite loop and remove the loop 
> check for triggers.

Go ahead.

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Monetdb-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-developers

Reply via email to