Обсуждение: Adding an informative object to the connection
Hi, a few days ago we were contributed a merge request for an `.host` attribute on the connection. But looking back at the bug (https://github.com/psycopg/psycopg2/issues/726) I had already noticed there are other interesting informative connection functions in the libpq. Some of them are already exposed as methods of the connection class (e.g. get_backend_pid(), get_transaction_status() etc), but I can see a trickle of requests for others, so I'd rather expose most/all of them. Instead of bloating the connection class with more and more attributes and methods, I'm rather adding a connection.info method to retrieve pgconn-specific information. The work is happening in this branch: https://github.com/psycopg/psycopg2/commits/connection-info I would softly deprecate the currently exposed informative methods: not sending them away in a short time but giving a preference to use from the 'info' object what belongs to the pgconn/libpq and to leave on the connection things regarding the Python layer, and clean up the interfaces a little bit. Any input is welcome. Cheers! -- Daniele
Hi Daniele,
Il giorno ven 12 ott 2018 alle ore 18:46 Daniele Varrazzo <daniele.varrazzo@gmail.com> ha scritto:
Hi,
a few days ago we were contributed a merge request for an `.host`
attribute on the connection. But looking back at the bug
(https://github.com/psycopg/psycopg2/issues/726) I had already noticed
there are other interesting informative connection functions in the
libpq. Some of them are already exposed as methods of the connection
class (e.g. get_backend_pid(), get_transaction_status() etc), but I
can see a trickle of requests for others, so I'd rather expose
most/all of them.
Instead of bloating the connection class with more and more attributes
and methods, I'm rather adding a connection.info method to retrieve
pgconn-specific information. The work is happening in this branch:
https://github.com/psycopg/psycopg2/commits/connection-info
I would softly deprecate the currently exposed informative methods:
not sending them away in a short time but giving a preference to use
from the 'info' object what belongs to the pgconn/libpq and to leave
on the connection things regarding the Python layer, and clean up the
interfaces a little bit.
Any input is welcome. Cheers!
+1
good idea, clean and effective
-- Marco
+1
--
Regards,
On Fri, Oct 12, 2018 at 10:16 PM Daniele Varrazzo <daniele.varrazzo@gmail.com> wrote:
Hi,
a few days ago we were contributed a merge request for an `.host`
attribute on the connection. But looking back at the bug
(https://github.com/psycopg/psycopg2/issues/726) I had already noticed
there are other interesting informative connection functions in the
libpq. Some of them are already exposed as methods of the connection
class (e.g. get_backend_pid(), get_transaction_status() etc), but I
can see a trickle of requests for others, so I'd rather expose
most/all of them.
Instead of bloating the connection class with more and more attributes
and methods, I'm rather adding a connection.info method to retrieve
pgconn-specific information. The work is happening in this branch:
https://github.com/psycopg/psycopg2/commits/connection-info
I would softly deprecate the currently exposed informative methods:
not sending them away in a short time but giving a preference to use
from the 'info' object what belongs to the pgconn/libpq and to leave
on the connection things regarding the Python layer, and clean up the
interfaces a little bit.
Any input is welcome. Cheers!
-- Daniele