From: Mike Bayer Date: Tue, 17 Jan 2023 14:44:05 +0000 (-0500) Subject: pass driver_connection to TypeInfo.fetch() X-Git-Tag: rel_2_0_0rc3~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f91a25cd8191f026dd43c0a2475cda8a56d65c19;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git 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 --- diff --git a/doc/build/changelog/unreleased_20/9106.rst b/doc/build/changelog/unreleased_20/9106.rst new file mode 100644 index 0000000000..02e0495bcc --- /dev/null +++ b/doc/build/changelog/unreleased_20/9106.rst @@ -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. diff --git a/lib/sqlalchemy/dialects/postgresql/psycopg.py b/lib/sqlalchemy/dialects/postgresql/psycopg.py index ead157b71b..3f11556cf5 100644 --- a/lib/sqlalchemy/dialects/postgresql/psycopg.py +++ b/lib/sqlalchemy/dialects/postgresql/psycopg.py @@ -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)