From 31e98ed0a0b43596466f4980a1d3e49bc8e7a928 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Mon, 8 May 2023 16:48:55 -0400 Subject: [PATCH] Specialize `LocalOverlayStore::registerDrvOutput` --- src/libstore/local-overlay-store.cc | 11 +++++++++++ src/libstore/local-overlay-store.hh | 2 ++ 2 files changed, 13 insertions(+) diff --git a/src/libstore/local-overlay-store.cc b/src/libstore/local-overlay-store.cc index 4cb50aef0..2e3564df9 100644 --- a/src/libstore/local-overlay-store.cc +++ b/src/libstore/local-overlay-store.cc @@ -15,6 +15,17 @@ LocalOverlayStore::LocalOverlayStore(const Params & params) } +void LocalOverlayStore::registerDrvOutput(const Realisation & info) +{ + // First do queryRealisation on lower layer to populate DB + auto res = lowerStore->queryRealisation(info.id); + if (res) + LocalStore::registerDrvOutput(*res); + + LocalStore::registerDrvOutput(info); +} + + static RegisterStoreImplementation regLocalOverlayStore; } diff --git a/src/libstore/local-overlay-store.hh b/src/libstore/local-overlay-store.hh index 3129bb7a0..e5329f5d9 100644 --- a/src/libstore/local-overlay-store.hh +++ b/src/libstore/local-overlay-store.hh @@ -69,6 +69,8 @@ public: private: // Overridden methods… + + void registerDrvOutput(const Realisation & info) override; }; }