Re: transactions from PHP - double COMMIT required?

Поиск
Список
Период
Сортировка
От Martin A. Marques
Тема Re: transactions from PHP - double COMMIT required?
Дата
Msg-id 45E70C9A.200@bugs.unl.edu.ar
обсуждение исходный текст
Ответ на Re: transactions from PHP - double COMMIT required?  (mikie <mikie.pl@gmail.com>)
Ответы Re: transactions from PHP - double COMMIT required?  (Robert Treat <xzilla@users.sourceforge.net>)
Список pgsql-php
mikie wrote:
> 2007/3/1, Martin Marques <martin@bugs.unl.edu.ar>:
>
>> mikie wrote:
>> >> > But getting back to my problem - perhaps there is something I
>> >> > misunderstood: is it the client application responsibility to
>> check if
>> >> > the transaction failed or succeeded and issue COMMIT or ROLLBACK
>> >> > accordingly (how do I close the transaction block in that case)?
>> >> > Or is it the database server that is suppose to check if transaction
>> >> > succeded and perform the query, or ROLLBACK if anything went wrong?
>> >>
>> >> PG will rollback all transactions that have an error in some part,
>> as it
>> >> can't commit the transaction as a whole.
>> >
>> > OK, so my way of programming seems correct.
>> > Then why do I have to send another COMMIT after failed transaction to
>> > continue with next queries in the same php script ?
>>
>> I may not have gotten your question right, but with one commit (or end)
>> is enough. Transaction gets closed (commited or rolled back), and you
>> can start a new transaction with BEGIN.
>
>
> Thats exactly what I was thinking, too. But PHP does things in some
> other way, I guess.
> I am sending an entire sql transaction block to the PHP pg_query
> command, so it starts with BEGIN and ends with COMMIT. Then I still
> have to execute another pg_query with "commit;" only - thats why I am
> asking here if maybe someone know what the problem is.

Try executing the query without the last commit, and afterwords execute
another query with commit.

I personaly don't like to mix diferent querys and comands in one
pg_query() line. Also, I am more bound to using things like MDB2 or PDO,
which makes life easier.

BTW, if you have log_statments = 'all', could you see those logs to
check if the commits are really getting to the server?

Martín

В списке pgsql-php по дате отправления:

Предыдущее
От: Robert Treat
Дата:
Сообщение: New PHPUG starting in Columbia, MD
Следующее
От: Jeff MacDonald
Дата:
Сообщение: Re: transactions from PHP - double COMMIT required?