pass driver_connection to TypeInfo.fetch()

Fixed regression where psycopg3 changed an API call as of version 3.1.8 to
expect a specific object type that was previously not enforced, breaking
connectivity for the psycopg3 dialect.

Fixes: #9106
Change-Id: Ibb42f84b1086f30173aeb6e1f3256c56d129fe6e
This commit is contained in:
Mike Bayer
2023-01-17 09:44:05 -05:00
parent 030b757d1e
commit f91a25cd81
2 changed files with 9 additions and 2 deletions
+7
View File
@@ -0,0 +1,7 @@
.. change::
:tags: bug, postgresql
:tickets: 9106
Fixed regression where psycopg3 changed an API call as of version 3.1.8 to
expect a specific object type that was previously not enforced, breaking
connectivity for the psycopg3 dialect.
@@ -339,7 +339,7 @@ class PGDialect_psycopg(_PGDialect_common_psycopg):
def _type_info_fetch(self, connection, name):
from psycopg.types import TypeInfo
return TypeInfo.fetch(connection.connection, name)
return TypeInfo.fetch(connection.connection.driver_connection, name)
def initialize(self, connection):
super().initialize(connection)
@@ -717,7 +717,7 @@ class PGDialectAsync_psycopg(PGDialect_psycopg):
from psycopg.types import TypeInfo
adapted = connection.connection
return adapted.await_(TypeInfo.fetch(adapted._connection, name))
return adapted.await_(TypeInfo.fetch(adapted.driver_connection, name))
def _do_isolation_level(self, connection, autocommit, isolation_level):
connection.set_autocommit(autocommit)