On Sep 10, 2005, at 3:48 AM, WeiShang wrote:
I have a problem about commit and rollback using php. For the
script below,
if "foo" is called and commit and if rollback statment also run.
Will the
update statement under foo also rollback? or commit?
It will commit, but it will also complete the transaction causing
everything after it to run outside the transaction. Probably not what
you would want to do.
If foo can be called both inside and outside of a transaction, you
should call pg_transaction_status (assuming PHP 5) and only begin/
commit in foo if there is no existing transaction. If you are not
using PHP 5, then setup some flag to know if you are in a transaction.
John DeSoi, Ph.D.
http://pgedit.com/
Power Tools for PostgreSQL