]> git.openstreetmap.org Git - nominatim.git/blobdiff - test/bdd/steps/nominatim_environment.py
bdd: factor out reindexing on updates
[nominatim.git] / test / bdd / steps / nominatim_environment.py
index 2547bbe2707d967773bf9ddbfb5595f28dd53e39..7013a20e6455a7cf8e0fcf36795f46bd33193668 100644 (file)
@@ -191,6 +191,20 @@ class NominatimEnvironment:
         if not self.keep_scenario_db:
             self.db_drop_database(self.test_db)
 
+    def reindex_placex(self, db):
+        """ Run the indexing step until all data in the placex has
+            been processed. Indexing during updates can produce more data
+            to index under some circumstances. That is why indexing may have
+            to be run multiple times.
+        """
+        with db.cursor() as cur:
+            while True:
+                self.run_update_script('index')
+
+                cur.execute("SELECT 'a' FROM placex WHERE indexed_status != 0 LIMIT 1")
+                if cur.rowcount == 0:
+                    return
+
     def run_setup_script(self, *args, **kwargs):
         """ Run the Nominatim setup script with the given arguments.
         """