Re: using CURSOR with PHP

Поиск
Список
Период
Сортировка
От Marco Colombo
Тема Re: using CURSOR with PHP
Дата
Msg-id Pine.LNX.4.44.0205281818130.24472-100000@Megathlon.ESI
обсуждение исходный текст
Ответ на Re: using CURSOR with PHP  (Eckhard Hoeffner <e-hoeffner@fifoost.org>)
Ответы Re: using CURSOR with PHP
Re: using CURSOR with PHP
Список pgsql-php
On Tue, 28 May 2002, Eckhard Hoeffner wrote:

> * Marco Colombo <marco@esi.it> [28 05 02 17:32]:

> >AFAIK, a CURSOR may be used only inside a single transaction, not a
> >single session. So it can't be used to 'page' the output of a query,
> >for example.
> >
> >And, also AFAIK, even with pconnect, each connect creates a different
> >session. Only the (TCP) connection is re-used. I mean, nothing changes
> >from the PHP script standpoint when you switch from pg_connect() to
> >pg_pconnect().
>
> I think, you are right. The connection browser<->web server is cut
> after the web server has send all TCP/IP-packages, no matter how
> long it takes till they are received on the client side (browser).
> If there ist a request for a new database connection, the web server
> does not know whether this is the former user or a new user. For
> this reason the result I wanted to acchive is not possible.

Well, with HTTP keepalive, it may even keep the HTTP session open.
But the problem is that you can't relay on it.
Moreover, I suspect that PHP resets the SQL session when it performs
an pconnect (that means, it asks the SQL backend to abort uncommitted
transactions, drop TEMP relations, and so on).

And, no matter what is the actual behaviour, the docs are clear:

 "An important summary. Persistent connections were designed to have
  one-to-one mapping to regular connections. That means that you should
  always be able to replace persistent connections with non-persistent
  connections, and it won't change the way your script behaves. It may
  (and probably will) change the efficiency of the script, but not its
  behavior!"

so even if it worked, it's an undocumented feature... well, it's a bug,
really. pconnect() is *documented* to have no side effects. B-)

.TM.
--
      ____/  ____/   /
     /      /       /            Marco Colombo
    ___/  ___  /   /              Technical Manager
   /          /   /             ESI s.r.l.
 _____/ _____/  _/               Colombo@ESI.it


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

Предыдущее
От: Eckhard Hoeffner
Дата:
Сообщение: Re: using CURSOR with PHP
Следующее
От: Jurgen Defurne
Дата:
Сообщение: Re: using CURSOR with PHP