Connection failures when using green - Mailing list psycopg

From Alexey Borzenkov
Subject Connection failures when using green
Date
Msg-id CAKwjivd9xb=oYc6zAk1HtHA0UguEjyHYnjq7TrZ9HSdhCwGeQg@mail.gmail.com
Whole thread Raw
Responses Re: Connection failures when using green  (Daniele Varrazzo <daniele.varrazzo@gmail.com>)
List psycopg
Hi,

I'm starting to use psycopg2 together with greenlet/gevent and I noticed that when green psycopg2 connection errors are useless, since they always raise "asynchronous connection failed" exception and there's no way to know what exactly went wrong. Turns out that the patch for this is trivial (which I'm using), but I'm wondering if there's some underlying reason it wasn't done like that in the first place?

diff --git a/psycopg/connection_int.c b/psycopg/connection_int.c
index 7851b0a..feb4196 100644
--- a/psycopg/connection_int.c
+++ b/psycopg/connection_int.c
@@ -656,7 +656,7 @@ _conn_poll_connecting(connectionObject *self)
         break;
     case PGRES_POLLING_FAILED:
     case PGRES_POLLING_ACTIVE:
-        PyErr_SetString(OperationalError, "asynchronous connection failed");
+        PyErr_SetString(OperationalError, PQerrorMessage(self->pgconn));
         res = PSYCO_POLL_ERROR;
         break;
     }

Best regards,
Alexey.
Attachment

psycopg by date:

Previous
From: Christophe Pettus
Date:
Subject: Re: Problem with the default registration of the JSON adapter
Next
From: Daniele Varrazzo
Date:
Subject: Re: Connection failures when using green