]> git.openstreetmap.org Git - nominatim.git/commitdiff
make sure SQLAlchemy can handle the loaded dialect
authorSarah Hoffmann <lonvia@denofr.de>
Tue, 2 Jul 2024 13:55:23 +0000 (15:55 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Tue, 2 Jul 2024 13:55:23 +0000 (15:55 +0200)
The psycopg dialect was only added in SQLAlchemy 2.0. To avoid loading
errors when SQLAlchemy 1.4 is installed together with psycopg3,
check that the dialect is really available.

src/nominatim_api/sql/async_core_library.py

index c26846fbeb5a22b7b931f2f3e9fc1746774c6753..f8e29749984d2bc4844fc736d595cc75ebe03a35 100644 (file)
@@ -7,15 +7,17 @@
 """
 Import the base library to use with asynchronous SQLAlchemy.
 """
-# pylint: disable=invalid-name
+# pylint: disable=invalid-name, ungrouped-imports, unused-import
 
 from typing import Any
 
 try:
+    import sqlalchemy.dialects.postgresql.psycopg
     import psycopg
     PGCORE_LIB = 'psycopg'
     PGCORE_ERROR: Any = psycopg.Error
 except ModuleNotFoundError:
+    import sqlalchemy.dialects.postgresql.asyncpg
     import asyncpg
     PGCORE_LIB = 'asyncpg'
     PGCORE_ERROR = asyncpg.PostgresError