about summary refs log tree commit diff
path: root/src/libstore/db.hh (follow)
AgeCommit message (Collapse)AuthorFilesLines
2006-09-04 * Use a proper namespace.Eelco Dolstra1-7/+9
* 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 Dolstra1-2/+6
2005-12-12 * Automatically delete the old referers table.Eelco Dolstra1-0/+2
2005-12-12 * Fix NIX-23: quadratic complexity in maintaining the referersEelco Dolstra1-2/+2
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 Dolstra1-3/+0
crashed Nix instances, and toss out our own recovery code.
2005-05-09 * Automatically upgrade the Berkeley DB environment if necessary.Eelco Dolstra1-0/+2
2005-02-09 * Commit more often to prevent out-of-memory errors.Eelco Dolstra1-0/+1
2004-10-25 * Allow certain operations to succeed even if we don't have writeEelco Dolstra1-0/+7
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 Dolstra1-1/+2
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 Dolstra1-0/+89