Disable EvalCache in impure mode

This commit is contained in:
Eelco Dolstra 2019-06-07 22:38:39 +02:00
parent 6644b6099b
commit c47d2dac6c
No known key found for this signature in database
GPG key ID: 8170B4726D7198DE

View file

@ -1,5 +1,6 @@
#include "eval-cache.hh"
#include "sqlite.hh"
#include "eval.hh"
#include <set>
@ -62,6 +63,8 @@ void EvalCache::addDerivation(
const std::string & attrPath,
const Derivation & drv)
{
if (!evalSettings.pureEval) return;
auto state(_state->lock());
if (state->fingerprints.insert(fingerprint).second)
@ -81,6 +84,8 @@ std::optional<EvalCache::Derivation> EvalCache::getDerivation(
const Fingerprint & fingerprint,
const std::string & attrPath)
{
if (!evalSettings.pureEval) return {};
auto state(_state->lock());
auto queryAttribute(state->queryAttribute.use()