Hi,

I have a pice of code which does basiccaly this:

$query = "fetch in T";
while (($res = PQexec($PG_CONN, $query)) &&
     ($PGRES_TUPLES_OK == PQresultStatus($res)) &&
     (PQntuples($res) == 1)) {

   do_stuff();
   PQclear($res);
}

As you see I'm still using the old perl-interface :).

Now, this worked splendidly at home. No problems whatsoever. At home I 
have 6.3.2. Now I wanted to use the same piece of code in the production 
environment (PG_VERSION contains 6.1, but I think it's really 6.2). The 
damned thing fails.

But it's not like it doesn't run. It run's, only after fetching 3765 
rows, PQresultStatus() returns 0, which is PGRES_EMPTY_QUERY.

If I do the sme things in psql (begin; declare T cursor...; ...; fetch in 
T), I have no trouble at all 'walking by' this row.

And the damned thing is that I can't even test for this special case 
(PGRES_EMPTY_QUERY) and then continue, cos it's considered an error, and 
all queries are ignored till the end of the transaction.

Anybody knows what's going on here?

Maarten

_____________________________________________________________________________
| TU Delft, The Netherlands, Faculty of Information Technology and Systems  |
|                   Department of Electrical Engineering                    |
|           Computer Architecture and Digital Technique section             |
|                          [EMAIL PROTECTED]                         |
-----------------------------------------------------------------------------


Reply via email to