db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Francois Orsini" <francois.ors...@gmail.com>
Subject Re: DDL in Trigger Procedure
Date Mon, 20 Aug 2007 16:33:44 GMT
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. <fonsecajavier@gmail.com> 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, derby@segel.com <derby@segel.com> 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: francois.orsini@gmail.com]
> > *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.* < fonsecajavier@gmail.com> 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
> >
> >
> >
>
>

Mime
View raw message