diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2005-03-02T15·57+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2005-03-02T15·57+0000 |
commit | 07b4399fb6f04d0cae58b8cf0a13efeeaf9d590b (patch) | |
tree | cd35f9205c15098f51c6c11da5148b27e4c7060f /src/libstore | |
parent | 9e50e648a47c1ef3b734bf12945c8b29a8c8f9f8 (diff) |
* `nix-store -q --hash' to quickly query the hash of the contents of a
store path (which is stored in the database).
Diffstat (limited to 'src/libstore')
-rw-r--r-- | src/libstore/store.cc | 8 | ||||
-rw-r--r-- | src/libstore/store.hh | 3 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/libstore/store.cc b/src/libstore/store.cc index 946be5e02b7b..9f50e597eb34 100644 --- a/src/libstore/store.cc +++ b/src/libstore/store.cc @@ -509,6 +509,14 @@ static Hash queryHash(const Transaction & txn, const Path & storePath) } +Hash queryPathHash(const Path & path) +{ + if (!isValidPath(path)) + throw Error(format("path `%1%' is not valid") % path); + return queryHash(noTxn, path); +} + + void registerValidPath(const Transaction & txn, const Path & _path, const Hash & hash, const PathSet & references, const Path & deriver) diff --git a/src/libstore/store.hh b/src/libstore/store.hh index 3b18664de646..d5d8ea81eae8 100644 --- a/src/libstore/store.hh +++ b/src/libstore/store.hh @@ -89,6 +89,9 @@ void canonicalisePathMetaData(const Path & path); /* Checks whether a path is valid. */ bool isValidPath(const Path & path); +/* Queries the hash of a valid path. */ +Hash queryPathHash(const Path & path); + /* Sets the set of outgoing FS references for a store path. Use with care! */ void setReferences(const Transaction & txn, const Path & storePath, |