]> git.openstreetmap.org Git - nominatim.git/commitdiff
check_import_finished: check for invalid indices
authormarc tobias <mtmail@gmx.net>
Tue, 14 Jan 2020 18:36:40 +0000 (19:36 +0100)
committermarc tobias <mtmail@gmx.net>
Tue, 14 Jan 2020 18:36:40 +0000 (19:36 +0100)
utils/check_import_finished.php

index 7828f5cff03de17103de1a867fb0c833df5ca8ca..82d5b509ddc47e12fa9b9389c819bbe4d670e8c8 100755 (executable)
@@ -130,6 +130,31 @@ END;
     }
 }
 
+echo 'Checking search indices are valid ... ';
+$sSQL = <<< END
+    SELECT relname
+    FROM pg_class, pg_index
+    WHERE pg_index.indisvalid = false
+      AND pg_index.indexrelid = pg_class.oid;
+END;
+$aInvalid = $oDB->getCol($sSQL);
+if (empty($aInvalid)) {
+    $print_success();
+} else {
+    $print_fail();
+    echo <<< END
+    At least one index is invalid. That can happen, e.g. when index creation was
+    disrupted and later restarted. You should run the index stage of setup again.
+    See the question 'Can a stopped/killed import process be resumed?' in the
+    troubleshooting guide.
+    Affected indices: 
+END;
+    echo join(', ', $aInvalid) . "\n";
+    exit(1);
+}
+
+
+
 if (CONST_Use_US_Tiger_Data) {
     echo 'Checking TIGER table exists ... ';
     if ($oDB->tableExists('location_property_tiger')) {