]> git.openstreetmap.org Git - nominatim.git/blobdiff - src/nominatim_db/tools/replication.py
add documentation for new query preprocessing
[nominatim.git] / src / nominatim_db / tools / replication.py
index 91171deb8cad626a4b64e1ba0bb5a9c95b5aa0ac..e50eedee26a2fa7bc628c0e67c2b36173d9fa7f6 100644 (file)
@@ -18,7 +18,7 @@ import urllib.request as urlrequest
 
 from ..errors import UsageError
 from ..db import status
-from ..db.connection import Connection, connect, server_version_tuple
+from ..db.connection import Connection, connect
 from .exec_utils import run_osm2pgsql
 
 try:
@@ -33,6 +33,7 @@ except ModuleNotFoundError as exc:
 
 LOG = logging.getLogger()
 
+
 def init_replication(conn: Connection, base_url: str,
                      socket_timeout: int = 60) -> None:
     """ Set up replication for the server at the given base URL.
@@ -83,6 +84,7 @@ def check_for_updates(conn: Connection, base_url: str,
     LOG.warning("New data available (%i => %i).", seq, state.sequence)
     return 0
 
+
 class UpdateState(Enum):
     """ Possible states after an update has run.
     """
@@ -125,8 +127,7 @@ def update(dsn: str, options: MutableMapping[str, Any],
     # Read updates into file.
     with _make_replication_server(options['base_url'], socket_timeout) as repl:
         outhandler = WriteHandler(str(options['import_file']))
-        # tyoing: work around typing bug in pyosmium 4.0
-        endseq = repl.apply_diffs(outhandler, startseq + 1, # type: ignore[arg-type]
+        endseq = repl.apply_diffs(outhandler, startseq + 1,
                                   max_size=options['max_diff_size'] * 1024)
         outhandler.close()
 
@@ -155,7 +156,7 @@ def run_osm2pgsql_updates(conn: Connection, options: MutableMapping[str, Any]) -
 
     # Consume updates with osm2pgsql.
     options['append'] = True
-    options['disable_jit'] = server_version_tuple(conn) >= (11, 0)
+    options['disable_jit'] = True
     run_osm2pgsql(options)
 
     # Handle deletions
@@ -177,12 +178,12 @@ def _make_replication_server(url: str, timeout: int) -> ContextManager[Replicati
             """ Download a resource from the given URL and return a byte sequence
                 of the content.
             """
-            headers = {"User-Agent" : f"Nominatim (pyosmium/{pyo_version.pyosmium_release})"}
+            headers = {"User-Agent": f"Nominatim (pyosmium/{pyo_version.pyosmium_release})"}
 
             if self.session is not None:
                 return self.session.get(url.get_full_url(),
-                                       headers=headers, timeout=timeout or None,
-                                       stream=True)
+                                        headers=headers, timeout=timeout or None,
+                                        stream=True)
 
             @contextmanager
             def _get_url_with_session() -> Iterator[requests.Response]: