]> git.openstreetmap.org Git - nominatim.git/blobdiff - nominatim/db/status.py
move table creation to jinja-based preprocessing
[nominatim.git] / nominatim / db / status.py
index 75da3c166029fa8cc4266b9a76aed5fe97b7dcdc..225638f4bef3979f4f0b1fec501b90c120b57bfe 100644 (file)
@@ -40,13 +40,19 @@ def compute_database_date(conn):
 
 
 def set_status(conn, date, seq=None, indexed=True):
-    """ Replace the current status with the given status.
+    """ Replace the current status with the given status. If date is `None`
+        then only sequence and indexed will be updated as given. Otherwise
+        the whole status is replaced.
     """
-    assert date.tzinfo == dt.timezone.utc
+    assert date is None or date.tzinfo == dt.timezone.utc
     with conn.cursor() as cur:
-        cur.execute("TRUNCATE TABLE import_status")
-        cur.execute("""INSERT INTO import_status (lastimportdate, sequence_id, indexed)
-                       VALUES (%s, %s, %s)""", (date, seq, indexed))
+        if date is None:
+            cur.execute("UPDATE import_status set sequence_id = %s, indexed = %s",
+                        (seq, indexed))
+        else:
+            cur.execute("TRUNCATE TABLE import_status")
+            cur.execute("""INSERT INTO import_status (lastimportdate, sequence_id, indexed)
+                           VALUES (%s, %s, %s)""", (date, seq, indexed))
 
     conn.commit()