Connection failures when using green

From: Alexey Borzenkov <snaury(at)gmail(dot)com>
To: psycopg(at)postgresql(dot)org
Subject: Connection failures when using green
Date: 2013-07-21 14:33:15
Message-ID: CAKwjivd9xb=oYc6zAk1HtHA0UguEjyHYnjq7TrZ9HSdhCwGeQg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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 Content-Type Size
psycopg2-async-connect.patch application/octet-stream 511 bytes

Responses

Browse psycopg by date

  From Date Subject
Next Message Daniele Varrazzo 2013-07-21 17:35:20 Re: Connection failures when using green
Previous Message Christophe Pettus 2013-07-19 19:02:59 Re: Problem with the default registration of the JSON adapter