aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/db.hh
AgeCommit message (Collapse)Author
2006-09-04* Use a proper namespace.Eelco Dolstra
* Optimise header file usage a bit. * Compile the parser as C++.
2006-03-01* db.hh shouldn't depend on the Berkeley DB headers.Eelco Dolstra
2005-12-12* Automatically delete the old referers table.Eelco Dolstra
2005-12-12* Fix NIX-23: quadratic complexity in maintaining the referersEelco Dolstra
mapping. The referer table is replaced by a referrer table (note spelling fix) that stores each referrer separately. That is, instead of having referer[P] = {Q_1, Q_2, Q_3, ...} we store referer[(P, Q_1)] = "" referer[(P, Q_2)] = "" referer[(P, Q_3)] = "" ... To find the referrers of P, we enumerate over the keys with a value lexicographically greater than P. This requires the referrer table to be stored as a B-Tree rather than a hash table. (The tuples (P, Q) are stored as P + null-byte + Q.) Old Nix databases are upgraded automatically to the new schema.
2005-12-09* Use Berkeley DB 4.4's process registry feature to recover fromEelco Dolstra
crashed Nix instances, and toss out our own recovery code.
2005-05-09* Automatically upgrade the Berkeley DB environment if necessary.Eelco Dolstra
2005-02-09* Commit more often to prevent out-of-memory errors.Eelco Dolstra
2004-10-25* Allow certain operations to succeed even if we don't have writeEelco Dolstra
permission to the Nix store or database. E.g., `nix-env -qa' will work, but `nix-env -qas' won't (the latter needs DB access). The option `--readonly-mode' forces this mode; otherwise, it's only activated when the database cannot be opened.
2004-06-28* Added a switch `--fallback'. From the manual:Eelco Dolstra
Whenever Nix attempts to realise a derivation for which a closure is already known, but this closure cannot be realised, fall back on normalising the derivation. The most common scenario in which this is useful is when we have registered substitutes in order to perform binary distribution from, say, a network repository. If the repository is down, the realisation of the derivation will fail. When this option is specified, Nix will build the derivation instead. Thus, binary installation falls back on a source installation. This option is not the default since it is generally not desirable for a transient failure in obtaining the substitutes to lead to a full build from source (with the related consumption of resources).
2003-11-18* libnix -> libstore.Eelco Dolstra