Re: pg_query transaction: auto rollback? begin or start?? commit or end???
От | Chris |
---|---|
Тема | Re: pg_query transaction: auto rollback? begin or start?? commit or end??? |
Дата | |
Msg-id | 4886A252.8030805@gmail.com обсуждение исходный текст |
Ответ на | Re: pg_query transaction: auto rollback? begin or start?? commit or end??? ("Bill Wordsworth" <bill.wordsworth@gmail.com>) |
Ответы |
Re: pg_query transaction: auto rollback? begin or
start?? commit or end???
|
Список | pgsql-general |
Bill Wordsworth wrote: > ...resending, email didn't go through. > > On Tue, Jul 22, 2008 at 1:02 PM, Bill Wordsworth > <bill.wordsworth@gmail.com> wrote: >> Is this recommended? >> >> pg_query("begin transaction read write;", $connection); >> if(pg_transaction_status($connection) == 2) { >> pg_query("insert...;", $connection); >> pg_query("insert...;", $connection); >> pg_query("insert...;", $connection); >> } >> pg_query("commit transaction;", $connection); >> pg_close($connection); >> >> Now *any* error inside transaction will trigger auto rollback for >> *all* inserts so I don't need to explicitly issue conditional >> rollback? Also is "begin/commit transaction" == "start/end >> transaction"?? What if something gets an invalid state (eg you expect a record to have 'active = 156' but it's something else). So in some cases yes you'll need to do a rollback. On the other hand, if you don't explicitly do a commit, everything is rolled back. Yes "begin" == "start transaction" and "commit" == "end transaction". -- Postgresql & php tutorials http://www.designmagick.com/
В списке pgsql-general по дате отправления: