]> git.openstreetmap.org Git - nominatim.git/commitdiff
remove extension existence helper
authorSarah Hoffmann <lonvia@denofr.de>
Tue, 2 Jul 2024 12:52:57 +0000 (14:52 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Mon, 29 Jul 2024 06:49:02 +0000 (08:49 +0200)
This is only used in one place.

src/nominatim_db/db/connection.py
src/nominatim_db/tools/database_import.py

index 19fcddd44c7bd790c2b77224a7dbad58a48f3063..8faa3f93334dda7a219b4e5dcd1caf98052a6274 100644 (file)
@@ -175,20 +175,13 @@ class Connection(psycopg2.extensions.connection):
         return (int(version_parts[0]), int(version_parts[1]))
 
 
-    def extension_loaded(self, extension_name: str) -> bool:
-        """ Return True if the hstore extension is loaded in the database.
-        """
-        with self.cursor() as cur:
-            cur.execute('SELECT extname FROM pg_extension WHERE extname = %s', (extension_name, ))
-            return cur.rowcount > 0
-
-
 class ConnectionContext(ContextManager[Connection]):
     """ Context manager of the connection that also provides direct access
         to the underlying connection.
     """
     connection: Connection
 
+
 def connect(dsn: str) -> ConnectionContext:
     """ Open a connection to the database using the specialised connection
         factory. The returned object may be used in conjunction with 'with'.
index d07febc8a3da97fc5e41b8b243e3e8ba0f703de1..c4b3023a8585d57d28ffee15f06d1c3ddc4f60f5 100644 (file)
@@ -40,9 +40,11 @@ def _require_version(module: str, actual: Tuple[int, int], expected: Tuple[int,
 
 def _require_loaded(extension_name: str, conn: Connection) -> None:
     """ Check that the given extension is loaded. """
-    if not conn.extension_loaded(extension_name):
-        LOG.fatal('Required module %s is not loaded.', extension_name)
-        raise UsageError(f'{extension_name} is not loaded.')
+    with conn.cursor() as cur:
+        cur.execute('SELECT * FROM pg_extension WHERE extname = %s', (extension_name, ))
+        if cur.rowcount <= 0:
+            LOG.fatal('Required module %s is not loaded.', extension_name)
+            raise UsageError(f'{extension_name} is not loaded.')
 
 
 def check_existing_database_plugins(dsn: str) -> None: