Search Postgresql Archives

Re: *** QUESTION *** After successful 'BEGIN;' command -- why PGSQL_TRANSACTION_ACTIVE and not PGSQL_TRANSACTION_INTRANS?

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

 



Hello Daniel,

Thanks for your response.

Ahhh -- so after a successful query, the PHP program must keep executing pg_get_result($cnx) until a NULL result is obtained !!

And ONLY THEN does transaction status transition from PGSQL_TRANSACTION_ACTIVE to PGSQL_TRANSACTION_INTRANS.

OK -- makes sense to me -- I will change the code accordingly.

* * *
* * *

BTW -- this PostgreSQL newbie (bye bye mysql) is getting a nice warm fuzzy feeling, about PostgreSQL and its amazingly helpful community :)

Best,

Steve

* * *

Steve Petrie, P.Eng.

ITS-ETO Consortium
Oakville, Ontario, Canada
(905) 847-3253
apetrie@xxxxxxxxxxxx

----- Original Message ----- From: "Daniel Verite" <daniel@xxxxxxxxxxxxxxxx>
To: "Steve Petrie, P.Eng." <apetrie@xxxxxxxxxxxx>
Cc: "rob stone" <floriparob@xxxxxxxxx>; <pgsql-general@xxxxxxxxxxxxxx>
Sent: Monday, October 12, 2015 5:22 AM
Subject: Re: *** QUESTION *** After successful 'BEGIN;' command -- why PGSQL_TRANSACTION_ACTIVE and not PGSQL_TRANSACTION_INTRANS?


Steve Petrie, P.Eng. wrote:

And yes, I am using pg_send_query(...) to execute the BEGIN; command, so as
to get a result resource returned. (Please see my forthcoming emailed
response to Adrian Klaver, wherein I provide the PHP source code that Adrian
requests.)

After successfully calling pg_send_query($cnx, $query),
pg_transaction_status($cnx) will return PGSQL_TRANSACTION_ACTIVE
until the results have been collected by looping over pg_get_result($cnx).

This is for any query, not specifically $query="BEGIN".

Example:

<?php
if (pg_send_query($dbcnx, "BEGIN")) {
 do {
  $res=pg_get_result($dbcnx);
  // error processing here
} while ($res);
 echo pg_transaction_status($dbcnx);
?>

This will output 2, which corresponds to PGSQL_TRANSACTION_INTRANS
as expected.

OTOH if commenting the call to pg_get_result($dbcnx), then
it ouputs 1 (PGSQL_TRANSACTION_ACTIVE) as you mentioned.


Best regards,
--
Daniel Vérité
PostgreSQL-powered mailer: http://www.manitou-mail.org
Twitter: @DanielVerite


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


--
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