From: | Ketema <ketema(at)gmail(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Trigger/Rules Order of operations |
Date: | 2008-12-16 16:26:06 |
Message-ID: | 1801b7db-2dbe-4452-aced-62f114052793@a12g2000yqm.googlegroups.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Dec 16, 10:31 am, Ivan Pavlov <ivan(dot)pav(dot)(dot)(dot)(at)gmail(dot)com> wrote:
> I can't answer your question but I think you may have a serious
> database design issue at hand.
> Why not try to accomplish your goals in a simpler way?
>
> Regards,
> Ivan Pavlov
>
> On Dec 15, 12:49 pm, ket(dot)(dot)(dot)(at)ketema(dot)net (Ketema Harris) wrote:
>
> > I am interested in finding out the pros, cons, pitfalls of using the
> > following design:
>
> > Manual insert into Table A.
> > Table A has a BEFORE INSERT trigger that causes an insert to table B.
> > Table B has an AFTER INSERT trigger that causes an insert back to
> > table A (With different criteria not an endless loop)
>
> > Table A will have its Before Trig fire again and this time the
> > criteria causes it to finish with a return new.
>
> > Will the second insert into table A commit before the first insert
> > into table A? What order does the insert into table B finish up?
>
> > Ketema J. Harriswww.ketema.net
> > ket(dot)(dot)(dot)(at)ketema(dot)net
> > ketemaj on iChat
>
> > --
> > Sent via pgsql-general mailing list (pgsql-gene(dot)(dot)(dot)(at)postgresql(dot)org)
> > To make changes to your subscription:http://www.postgresql.org/mailpref/pgsql-general
I am all for simple, but some times there is not a simple answer.
Complex business rules don't always have a simple solution. And
complex design is not necessarily bad design. I am tasked with
creating a transaction system that has a lot of things occur
automatically after certain input. In analyzing the task I saw two
main paths. Use the trigger and rule system that Pg provides or
construct external methods to control the logic and issue "simple"
commands to insert data when appropriate. I chose to use the trigger
and rule system because the DB is built for transactional
applications. Isn't that the point of ACID and atomicity and all
those other buzzwords? I did not want to have to recreate what the
database already can do. I just want to make sure that my
understanding of what I think is going to happen is on target, and I'm
looking for experience from others, as well as the tests I am
performing. So far it is working as expected, I'd appreciate any
feedback from anyone who has done something similar to avoid stepping
in the same potholes others may have discovered.
Thanks
From | Date | Subject | |
---|---|---|---|
Next Message | Andreas | 2008-12-16 16:42:27 | Re: How restrict select on a view ? |
Previous Message | Ivan Pavlov | 2008-12-16 15:44:48 | Re: Logg errors during UPDATE |