diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2018-06-29 22:51:23 +0200 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2018-06-29 22:51:23 +0200 |
commit | f1728d43460e63b106dd446e70001d8e100eaf6d (patch) | |
tree | 9d211fabf9e200743be49e25d108d58ed88d2f60 /nix/libstore | |
parent | cda7f4bc8ecf331d623c7d37b01931a46830c648 (diff) | |
parent | 373cc3b74a6ad33fddf75c2d773a97b1775bda8e (diff) | |
download | guix-f1728d43460e63b106dd446e70001d8e100eaf6d.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'nix/libstore')
-rw-r--r-- | nix/libstore/schema.sql | 44 | ||||
-rw-r--r-- | nix/libstore/store-api.cc | 26 | ||||
-rw-r--r-- | nix/libstore/store-api.hh | 4 |
3 files changed, 0 insertions, 74 deletions
diff --git a/nix/libstore/schema.sql b/nix/libstore/schema.sql deleted file mode 100644 index c1b4a689af..0000000000 --- a/nix/libstore/schema.sql +++ /dev/null @@ -1,44 +0,0 @@ -create table if not exists ValidPaths ( - id integer primary key autoincrement not null, - path text unique not null, - hash text not null, - registrationTime integer not null, - deriver text, - narSize integer -); - -create table if not exists Refs ( - referrer integer not null, - reference integer not null, - primary key (referrer, reference), - foreign key (referrer) references ValidPaths(id) on delete cascade, - foreign key (reference) references ValidPaths(id) on delete restrict -); - -create index if not exists IndexReferrer on Refs(referrer); -create index if not exists IndexReference on Refs(reference); - --- Paths can refer to themselves, causing a tuple (N, N) in the Refs --- table. This causes a deletion of the corresponding row in --- ValidPaths to cause a foreign key constraint violation (due to `on --- delete restrict' on the `reference' column). Therefore, explicitly --- get rid of self-references. -create trigger if not exists DeleteSelfRefs before delete on ValidPaths - begin - delete from Refs where referrer = old.id and reference = old.id; - end; - -create table if not exists DerivationOutputs ( - drv integer not null, - id text not null, -- symbolic output id, usually "out" - path text not null, - primary key (drv, id), - foreign key (drv) references ValidPaths(id) on delete cascade -); - -create index if not exists IndexDerivationOutputs on DerivationOutputs(path); - -create table if not exists FailedPaths ( - path text primary key not null, - time integer not null -); diff --git a/nix/libstore/store-api.cc b/nix/libstore/store-api.cc index 6742d2ed49..9e07c67e97 100644 --- a/nix/libstore/store-api.cc +++ b/nix/libstore/store-api.cc @@ -226,32 +226,6 @@ string StoreAPI::makeValidityRegistration(const PathSet & paths, return s; } - -ValidPathInfo decodeValidPathInfo(std::istream & str, bool hashGiven) -{ - ValidPathInfo info; - getline(str, info.path); - if (str.eof()) { info.path = ""; return info; } - if (hashGiven) { - string s; - getline(str, s); - info.hash = parseHash(htSHA256, s); - getline(str, s); - if (!string2Int(s, info.narSize)) throw Error("number expected"); - } - getline(str, info.deriver); - string s; int n; - getline(str, s); - if (!string2Int(s, n)) throw Error("number expected"); - while (n--) { - getline(str, s); - info.references.insert(s); - } - if (!str || str.eof()) throw Error("missing input"); - return info; -} - - string showPaths(const PathSet & paths) { string s; diff --git a/nix/libstore/store-api.hh b/nix/libstore/store-api.hh index e957cedebc..2d9dcbd573 100644 --- a/nix/libstore/store-api.hh +++ b/nix/libstore/store-api.hh @@ -371,10 +371,6 @@ std::shared_ptr<StoreAPI> openStore(bool reserveSpace = true); string showPaths(const PathSet & paths); -ValidPathInfo decodeValidPathInfo(std::istream & str, - bool hashGiven = false); - - /* Export multiple paths in the format expected by ‘nix-store --import’. */ void exportPaths(StoreAPI & store, const Paths & paths, |