Javier, I guess and I may be wrong that the main reason for not allowing DDL operation in a trigger is due to the fact that a DDL operation will get implicitly committed, and as a trigger is always called in the context of a transaction, it cannot allow an implicit (in this case) commit of a DDL statement, neither an explicit commit...
--francois On 8/20/07, Javier Fonseca V. <[EMAIL PROTECTED]> wrote: > > Yes. I agree with the importance of the footprint. I don't know if DDL > in Triggers would be too hard/big/convenient to implement, but the Derby > Team must have their reasons. > > Anyway, it looks like I'll have to call the procedure directly in the > application that I'm designing... that doesn't look so hard... > > Thanks for your replies. > > Javier > > > > On 8/20/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > > > > > > > > Just a comment… > > > > > > > > Just because another database can do something doesn't mean that it's > > necessarily a good idea. > > > > > > > > The other issue with Derby is that until someone determines a way to > > create a "plug n play" architecture of features, it becomes more important > > to decide if Derby is going to be a "full fledged" database, or a > > lightweight embedded database. > > > > > > > > As you increase the size of the footprint, you make it harder to embed. > > And as you add features, you are increasing the size of the footprint. > > > > > > > > > > ------------------------------ > > > > *From:* Francois Orsini [mailto: [EMAIL PROTECTED] > > *Sent:* Monday, August 20, 2007 5:26 AM > > *To:* Derby Discussion > > *Subject:* Re: DDL in Trigger Procedure > > > > > > > > Javier, > > > > DDL statements are not allowed in triggers, directly or via a procedure > > called from a trigger. I checked the codeline. > > > > --francois > > > > On 8/19/07, *Javier Fonseca V.* < [EMAIL PROTECTED]> wrote: > > > > Hello. I'm trying to do a trigger that fires after an INSERT INTO a > > table. > > > > > > > > This trigger will call a Java procedure that performs some operations in > > the Database ... and then decide to CREATE TABLE according to a sequence for > > later local replication purposes. > > > > > > > > But I can't make it work. It's failing in the CREATE TABLE step. It > > looks like DDL is not supported in Derby Triggers, even if they are in a > > stored procedure. If I call the procedure manually with some test values, > > it works. But I need it to work it triggered in Derby. I already did it in > > PostgreSQL (master DB) and I don't know why Derby doesn't allow me to do the > > same. > > > > > > > > Thanks for your replies, > > > > > > > > Javier Fonseca > > > > Barranquilla, Colombia > > > > > > > >
