src/Pure/Thy/store.scala
changeset 78510 8f45302a9ff0
parent 78400 63d55ba90a9f
child 78511 f5fb5bb2533f
--- a/src/Pure/Thy/store.scala	Thu Aug 10 19:58:23 2023 +0200
+++ b/src/Pure/Thy/store.scala	Thu Aug 10 20:30:37 2023 +0200
@@ -271,8 +271,15 @@
         cat_lines(input_dirs.map(dir => "  " + File.standard_path(dir))))
 
   def heap_shasum(database_server: Option[SQL.Database], name: String): SHA1.Shasum = {
-    def get_database = database_server.flatMap(ML_Heap.get_entry(_, name))
-    def get_file = find_heap(name).flatMap(ML_Heap.read_file_digest)
+    def get_database: Option[SHA1.Digest] = {
+      for {
+        db <- database_server
+        digest <- ML_Heap.get_entries(db, List(name)).valuesIterator.nextOption()
+      } yield digest
+    }
+
+    def get_file: Option[SHA1.Digest] =
+      find_heap(name).flatMap(ML_Heap.read_file_digest)
 
     get_database orElse get_file match {
       case Some(digest) => SHA1.shasum(digest, name)