Search Postgresql Archives

Re: Trigger/Rules Order of operations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Dec 16, 10:31 am, Ivan Pavlov <ivan.pav...@xxxxxxxxx> 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...@xxxxxxxxxx (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...@xxxxxxxxxx
> > ketemaj on iChat
>
> > --
> > Sent via pgsql-general mailing list (pgsql-gene...@xxxxxxxxxxxxxx)
> > 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

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux