about summary refs log tree commit diff
path: root/src/libstore/store.cc
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2005-01-25T20·27+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2005-01-25T20·27+0000
commit2a2756b85643de6355b7b9e3cc47574e7df82303 (patch)
tree1e44145bc88c55f6d70b05503b7741a613b36e3c /src/libstore/store.cc
parenta9340fa67222bf7ab9057d132af387031b00997d (diff)
* Simplification: registerSubstitutes -> registerSubstitute. We no
  longer need the former since there we no longer have the
  substitutes-rev table (which triggered a O(n^2) cost in updating
  them).

Diffstat (limited to 'src/libstore/store.cc')
-rw-r--r--src/libstore/store.cc25
1 files changed, 9 insertions, 16 deletions
diff --git a/src/libstore/store.cc b/src/libstore/store.cc
index 02bf9803b2..0dd4e1ed25 100644
--- a/src/libstore/store.cc
+++ b/src/libstore/store.cc
@@ -331,26 +331,19 @@ static void writeSubstitutes(const Transaction & txn,
 }
 
 
-void registerSubstitutes(const Transaction & txn,
-    const SubstitutePairs & subPairs)
+void registerSubstitute(const Transaction & txn,
+    const Path & srcPath, const Substitute & sub)
 {
-    for (SubstitutePairs::const_iterator i = subPairs.begin();
-         i != subPairs.end(); ++i)
-    {
-        const Path & srcPath(i->first);
-        const Substitute & sub(i->second);
-
-        assertStorePath(srcPath);
+    assertStorePath(srcPath);
     
-        Substitutes subs = readSubstitutes(txn, srcPath);
+    Substitutes subs = readSubstitutes(txn, srcPath);
 
-        /* New substitutes take precedence over old ones.  If the
-           substitute is already present, it's moved to the front. */
-        remove(subs.begin(), subs.end(), sub);
-        subs.push_front(sub);
+    /* New substitutes take precedence over old ones.  If the
+       substitute is already present, it's moved to the front. */
+    remove(subs.begin(), subs.end(), sub);
+    subs.push_front(sub);
         
-        writeSubstitutes(txn, srcPath, subs);
-    }
+    writeSubstitutes(txn, srcPath, subs);
 }