question about postgres persistent connection in php

Поиск
Список
Период
Сортировка
От Yulius Tjahjadi
Тема question about postgres persistent connection in php
Дата
Msg-id 08F5636B48FE8F4D856E209D0E6C0637A83E56@hq01.ultimatearena.com
обсуждение исходный текст
Список pgsql-php
Hi,

I have a question about the postgres interface in php.  The
implementation for
a persistent connection calls _rollback_transactions. I was just
wondering
what exactly does the bottom section do by calling BEGIN; and then
ROLLBACK;.
It would seem like it's wasting cpu cycles to start up a transaction and
then rolling back the transactions doing nothing.

I'm looking at php 4.3.10 and I'm using postgres 8.0.1.

yulius

/* {{{ _rollback_transactions
 */
static int _rollback_transactions(zend_rsrc_list_entry *rsrc TSRMLS_DC)
{
        PGconn *link;
        PGresult *res;
        int orig;

        if (Z_TYPE_P(rsrc) != le_plink)
                return 0;

        link = (PGconn *) rsrc->ptr;

        if (PQ_SETNONBLOCKING(link, 0)) {
                php_error_docref("ref.pgsql" TSRMLS_CC, E_NOTICE,
"Cannot set connection to blocking mode");
                return -1;
        }

        while ((res = PQgetResult(link))) {
                PQclear(res);
        }
        orig = PGG(ignore_notices);
        PGG(ignore_notices) = 1;
        res = PQexec(link,"BEGIN;");
        PQclear(res);
        res = PQexec(link,"ROLLBACK;");
        PQclear(res);
        PGG(ignore_notices) = orig;

        return 0;
}
/* }}} */

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

Предыдущее
От: Christopher Kings-Lynne
Дата:
Сообщение: Re: New PHP/PostgreSQL functions
Следующее
От: Christopher Kings-Lynne
Дата:
Сообщение: Re: question about postgres persistent connection in php