Re: Mixing DictConnection and LoggingConnection - Mailing list psycopg

From Daniele Varrazzo
Subject Re: Mixing DictConnection and LoggingConnection
Date
Msg-id CA+mi_8bDDOeAXxgM47=E8G0XWkvn331TxBc5XME+AQBXSriMbg@mail.gmail.com
Whole thread Raw
In response to Mixing DictConnection and LoggingConnection  (Alexey Luchko <luch@ank-sia.com>)
List psycopg
On Wed, May 9, 2012 at 10:46 AM, Alexey Luchko <luch@ank-sia.com> wrote:
> Hi!
>
> I was thinking of a connection object fetching dicts and reporting slow
> queries.  However, the way the connections classes are implemented make me
> think its impossible to create MyCursor(DictCursor, LoggingCursor) because
> they refer directly to parent class for calling inherited methods, like
> _cursor.method(....).
>
> Am I wrong?

Yes, as it is now I think you should subclass DictCursor yourself to add timing.

We should probably use super(), but mixin-style inheritance doesn't
just happen: the classes should be designed for it and I'm afraid they
weren't. I'm not even sure the base C classes are "new style" classes.
However, yes, I'm all for it: can you try patching the module so that
mixing up different orthogonal subclasses (e.g. logging vs.
namedtuple...) works as expected?

-- Daniele

psycopg by date:

Previous
From: Alexey Luchko
Date:
Subject: Mixing DictConnection and LoggingConnection
Next
From: Andy Casey
Date:
Subject: Using a psycopg2 converter to retrieve bytea data from PostgreSQL