Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2010-02-24 | * Use `truncate' journal mode, which should be a bit faster. | Eelco Dolstra | 1 | -0/+4 | |
2010-02-24 | * Disable fsync() in SQLite if the fsync-metadata option is set to | Eelco Dolstra | 1 | -5/+7 | |
false. * Change the default for `fsync-metadata' to true. * Disable `fsync-metadata' in `make check'. | |||||
2010-02-24 | * Do registerValidPaths() in one transaction, which is much faster. | Eelco Dolstra | 1 | -29/+9 | |
E.g. it cuts the runtime of the referrers test from 50s to 23s. | |||||
2010-02-24 | * Use normal (rather than full) synchronous mode, which I gather from | Eelco Dolstra | 1 | -0/+4 | |
the description at http://www.sqlite.org/atomiccommit.html should be safe enough. | |||||
2010-02-22 | (no commit message) | Eelco Dolstra | 1 | -4/+0 | |
2010-02-22 | * The database needs a trigger to get rid of self-references to | Eelco Dolstra | 1 | -2/+10 | |
prevent a foreign key constraint violation on the Refs table when deleting a path. | |||||
2010-02-22 | * Get derivation outputs from the database instead of the .drv file, | Eelco Dolstra | 1 | -0/+24 | |
which requires more I/O. | |||||
2010-02-22 | * Revert r19650 (implement gc-keep-outputs by looking for derivations | Eelco Dolstra | 1 | -0/+24 | |
with the same name as the output) and instead use the DerivationOutputs table in the database, which is the correct way to to do things. | |||||
2010-02-22 | * Put the derivation outputs in the database. This is useful for the | Eelco Dolstra | 1 | -2/+24 | |
garbage collector. | |||||
2010-02-19 | * Foreign key support in SQLite is not a persistent setting, so enable | Eelco Dolstra | 1 | -2/+19 | |
it at startup. * Implement negative caching. Now `make check' passes. | |||||
2010-02-19 | * Implement more stuff. | Eelco Dolstra | 1 | -52/+45 | |
2010-02-19 | * Implement registerValidPath(). | Eelco Dolstra | 1 | -111/+90 | |
2010-02-18 | * Implemented queryValidPaths() and verifyStore(). | Eelco Dolstra | 1 | -117/+34 | |
2010-02-18 | * Implemented queryReferrers(). | Eelco Dolstra | 1 | -30/+18 | |
2010-02-18 | * Implement queryPathInfo(). | Eelco Dolstra | 1 | -49/+46 | |
2010-02-18 | * Implement isValidPath(). | Eelco Dolstra | 1 | -149/+95 | |
2010-02-18 | * Automatically abort transactions if they go out of scope without | Eelco Dolstra | 1 | -6/+37 | |
committing. | |||||
2010-02-18 | * Some wrapper objects to ensure that SQLite objects are properly | Eelco Dolstra | 1 | -45/+73 | |
destroyed. | |||||
2010-02-18 | * Add the deriver to the ValidPaths table. In principle we could now | Eelco Dolstra | 1 | -12/+19 | |
store all the derivers of a path efficiently. But that opens a big can of worms with respect to garbage collector semantics. | |||||
2010-02-18 | * Assign an integer id to every row in the ValidPaths table in order | Eelco Dolstra | 1 | -2/+16 | |
to make the Refs table more space-efficient. For instance, this reduces the size of the database on my laptop from 93 MiB to 18 MiB. (It was 72 MiB with the old schema on an ext3 disk with a 1 KiB block size.) | |||||
2010-02-18 | * Convert the Nix database to SQLite. | Eelco Dolstra | 1 | -12/+107 | |
2010-01-29 | * Added an option "fsync-metadata" to fsync() changes to | Eelco Dolstra | 1 | -6/+12 | |
/nix/var/nix/db. * Removed the function writeStringToFile since it does (almost) the same thing as writeFile. | |||||
2010-01-29 | * Don't consider a store path valid if its info file exists but is | Eelco Dolstra | 1 | -4/+36 | |
zero bytes long. That makes Nix more robust in case of crashes (especially on ext4). | |||||
2009-11-06 | * Remove support for old (before Nix 0.12pre12020) databases. | Eelco Dolstra | 1 | -0/+12 | |
2009-09-24 | * And some more. | Eelco Dolstra | 1 | -0/+1 | |
2009-09-23 | * Darwin hack. | Eelco Dolstra | 1 | -0/+7 | |
2009-09-23 | * Create some state directories automatically as a convenience. | Eelco Dolstra | 1 | -6/+15 | |
2009-06-13 | * Canonicalise timestamps in the Nix store to 1 (1970-01-01 00:00:01 | Eelco Dolstra | 1 | -1/+1 | |
UTC) rather than 0 (00:00:00). 1 is a better choice because some programs use 0 as a special value. For instance, the Template Toolkit uses a timestamp of 0 to denote the non-existence of a file, so it barfs on files in the Nix store (see template-toolkit-nix-store.patch in Nixpkgs). Similarly, Maya 2008 fails to load script directories with a timestamp of 0 and can't be patched because it's closed source. This will also shut up those "implausibly old time stamp" GNU tar warnings. | |||||
2009-04-21 | * Use foreach in a lot of places. | Eelco Dolstra | 1 | -9/+8 | |
2009-04-21 | * nix-store --verify: don't bail out if a referenced path is missing. | Eelco Dolstra | 1 | -14/+13 | |
(It can't fix it though.) | |||||
2009-04-16 | * Fix a few "comparison is always false/true due to limited range of | Eelco Dolstra | 1 | -1/+1 | |
data type" warnings on 64-bit platforms. The one in parser.y is likely to be a real bug. | |||||
2009-03-28 | * Don't use the non-standard __gnu_cxx::stdio_filebuf class. | Eelco Dolstra | 1 | -25/+16 | |
2009-03-27 | * Create /nix/store if it doesn't exist. | Eelco Dolstra | 1 | -0/+2 | |
2009-03-25 | * Negative caching, i.e. caching of build failures. Disabled by | Eelco Dolstra | 1 | -0/+22 | |
default. This is mostly useful for Hydra. | |||||
2009-03-22 | * NAR archives: handle files larger than 2^32 bytes. Previously it | Eelco Dolstra | 1 | -1/+1 | |
would just silently store only (fileSize % 2^32) bytes. * Use posix_fallocate if available when unpacking archives. * Provide a better error message when trying to unpack something that isn't a NAR archive. | |||||
2009-02-02 | * Build hooks: use nix-store --import. This prevents a redundant | Eelco Dolstra | 1 | -1/+8 | |
scan for runtime dependencies (i.e. the local machine shouldn't do a scan that the remote machine has already done). Also pipe directly into `nix-store --import': don't use a temporary file. | |||||
2008-12-16 | * nix-store --verify: repair bad hash fields in the metadata file. | Eelco Dolstra | 1 | -4/+15 | |
2008-12-03 | * addToStore() in nix-worker: don't write the NAR dump received from | Eelco Dolstra | 1 | -19/+26 | |
the client to a temporary directory, as that is highly inefficient. | |||||
2008-12-03 | * Pass HashType values instead of strings. | Eelco Dolstra | 1 | -3/+3 | |
2008-12-03 | * Made addToStore() a lot more efficient: it no longer reads the path | Eelco Dolstra | 1 | -32/+28 | |
being copied 3 times in the worst case. It doesn't run in constant space, but it didn't do that anyway. | |||||
2008-12-03 | * Unify the treatment of sources copied to the store, and recursive | Eelco Dolstra | 1 | -4/+7 | |
SHA-256 outputs of fixed-output derivations. I.e. they now produce the same store path: $ nix-store --add x /nix/store/j2fq9qxvvxgqymvpszhs773ncci45xsj-x $ nix-store --add-fixed --recursive sha256 x /nix/store/j2fq9qxvvxgqymvpszhs773ncci45xsj-x the latter being the same as the path that a derivation derivation { name = "x"; outputHashAlgo = "sha256"; outputHashMode = "recursive"; outputHash = "..."; ... }; produces. This does change the output path for such fixed-output derivations. Fortunately they are quite rare. The most common use is fetchsvn calls with SHA-256 hashes. (There are a handful of those is Nixpkgs, mostly unstable development packages.) * Documented the computation of store paths (in store-api.cc). | |||||
2008-11-19 | * Files in the info directory starting with "." are temporary files | Eelco Dolstra | 1 | -2/+5 | |
and don't indicate path validity. | |||||
2008-08-05 | * Better error checking of the data from the substituters. | Eelco Dolstra | 1 | -21/+16 | |
2008-08-04 | * build.cc: only use a substituter if it returns info for a path. | Eelco Dolstra | 1 | -26/+32 | |
2008-08-04 | * nix-env --dry-run: show the total size of the substituter | Eelco Dolstra | 1 | -1/+4 | |
downloads. | |||||
2008-08-02 | * Make nix-env --dry-run print the paths to be substituted correctly | Eelco Dolstra | 1 | -20/+97 | |
again. (After the previous substituter mechanism refactoring I didn't update the code that obtains the references of substitutable paths.) This required some refactoring: the substituter programs are now kept running and receive/respond to info requests via stdin/stdout. | |||||
2008-07-18 | * Allow read-only access to the store (e.g., non-root users on NixOS | Eelco Dolstra | 1 | -5/+9 | |
can do operations like "nix-store -qR <path>" even without the Nix daemon). | |||||
2008-06-18 | * Some refactoring: put the GC options / results in separate structs. | Eelco Dolstra | 1 | -2/+3 | |
* The garbage collector now also prints the number of blocks freed. | |||||
2008-06-09 | * Merged the no-bdb branch (-r10900:HEAD | Eelco Dolstra | 1 | -566/+412 | |
https://svn.nixos.org/repos/nix/nix/branches/no-bdb). | |||||
2008-03-01 | * A transaction is unnecessary since the path cannot be | Eelco Dolstra | 1 | -8/+3 | |
garbage-collected (it's a temporary root). |