Search Postgresql Archives

Re: Why would query return PGRES_NONFATAL_ERROR?

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

 



> In 7.3 there is only one use of PGRES_NONFATAL_ERROR, and it's this:
> 
> ExecStatusType
> PQresultStatus(const PGresult *res)
> {
> if (!res)
> return PGRES_NONFATAL_ERROR;
> return res->resultStatus;
> }
> 
> So what you're seeing is a NULL PGresult pointer.  (7.4 uses
> PGRES_FATAL_ERROR for this case, which I think is saner.)

That gives me the start of an idea...

> The most likely causes for a NULL result from PQexec would be
> out-of-memory or failure to send the query due to communication
> failure.  Although PQresultErrorMessage can tell you nothing
> (since there is no result), you should find something informative
> in the connection's error status (PQerrorMessage).

I don't think there's any communication failure, since the app and server
are running on the same machine. But I'm using a pool of connections, so
perhaps some prior thread abused a connection and left it in a
non-functioning state. I'll have to take a close look at some of the error
handling, at least make sure that everything is logged by my app, and of
course get the connection's error status when I see PGRES_NONFATAL_ERROR.

Thanks.


-- 
Scott Ribe
scott_ribe@killerbytes.com
http://www.killerbytes.com/
(303) 665-7007 voice


---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
      joining column's datatypes do not match

[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