diff options
author | regnat <rg@regnat.ovh> | 2021-11-05 11:17:22 +0100 |
---|---|---|
committer | Théophane Hufschmitt <theophane.hufschmitt@tweag.io> | 2022-04-21 10:06:39 +0200 |
commit | 86d7a11c6b338a73c30476be13a6cac562e309c3 (patch) | |
tree | 42e3dbc1dcc095fb5d8c653fd790d69925610d74 /src/libstore | |
parent | 74d6782a6a864eed4c49ab606d130aec1201e584 (diff) |
Make sure to delete all the realisation refs
Deleting just one will only work in the test cases where I didn’t bother
creating too many of them :p
Diffstat (limited to 'src/libstore')
-rw-r--r-- | src/libstore/ca-specific-schema.sql | 2 | ||||
-rw-r--r-- | src/libstore/local-store.cc | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/libstore/ca-specific-schema.sql b/src/libstore/ca-specific-schema.sql index d2ea347fb..c01dc5a76 100644 --- a/src/libstore/ca-specific-schema.sql +++ b/src/libstore/ca-specific-schema.sql @@ -21,7 +21,7 @@ create index if not exists IndexRealisations on Realisations(drvPath, outputName -- realisations create trigger if not exists DeleteSelfRefsViaRealisations before delete on ValidPaths begin - delete from RealisationsRefs where realisationReference = ( + delete from RealisationsRefs where realisationReference in ( select id from Realisations where outputPath = old.id ); end; diff --git a/src/libstore/local-store.cc b/src/libstore/local-store.cc index e64917956..76524b01c 100644 --- a/src/libstore/local-store.cc +++ b/src/libstore/local-store.cc @@ -148,7 +148,7 @@ void migrateCASchema(SQLite& db, Path schemaPath, AutoCloseFD& lockFd) db.exec(R"( create trigger if not exists DeleteSelfRefsViaRealisations before delete on ValidPaths begin - delete from RealisationsRefs where realisationReference = ( + delete from RealisationsRefs where realisationReference in ( select id from Realisations where outputPath = old.id ); end; |