Re: server dropping connection - Mailing list pgsql-php

From Volkan YAZICI
Subject Re: server dropping connection
Date
Msg-id 20060503091937.GA205@alamut
Whole thread Raw
In response to server dropping connection  (Reed Loefgren <rloef@interfold.com>)
List pgsql-php
On May 02 06:13, Reed Loefgren wrote:
> I've been trying to run a nested query via a browser using a php script.
> The script looks at a table with a couple years worth of data (6M rows).
> If I constrain the search to five or six days of the data it works fine
> and displays the result set in the browser, but if I have it parse the
> entire table it errors out with this message:
>
> server closed the connection unexpectedly This probably means the server
> terminated abnormally before or while processing the request.

Just making rhetoric: You removed script execution time limits via
set_time_limit(), right?

I'll suggest turning error_reporting() to E_ALL and using asynchronous
query execution functions, instead of synchron ones. For instance:

$query_cmd = "SELECT ...";
$res = pg_send_query($conn, $query_cmd);
if (!$res)
{
    /* Error handling stuff... */
}

while (pg_connection_busy($conn))
{
    /*
     * Sorry, no clue about connection socket in here.
     * We're waiting without select() or poll().
     * (I know, I know... PHP sucks.)
     */
     usleep(100000); /* 0.1 seconds. */
}

/* Seems like result is ready now. */

$res = pg_get_result($conn);
if (!$res)
{
    /* Error handling. */
}

IMHO, this method can output more verbose (and accurate?) query status
when compared to an odd pg_query() call.


Regards.

pgsql-php by date:

Previous
From: Andy Dunlop
Date:
Subject: Select and order by question
Next
From: "chris smith"
Date:
Subject: Re: Select and order by question