summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorHarmen Stoppels <harmenstoppels@gmail.com>2023-08-17 08:08:50 +0200
committerGitHub <noreply@github.com>2023-08-17 08:08:50 +0200
commit190a1bf5238279a53b85fdad9e1b3f2a44689ae9 (patch)
tree171faa4f45e3783a3c10ed7ffc958abc52dc1a7e /var
parente381e166ec27bb56c2d3bc856e7020224a005d1d (diff)
downloadspack-190a1bf5238279a53b85fdad9e1b3f2a44689ae9.tar.gz
spack-190a1bf5238279a53b85fdad9e1b3f2a44689ae9.tar.bz2
spack-190a1bf5238279a53b85fdad9e1b3f2a44689ae9.tar.xz
spack-190a1bf5238279a53b85fdad9e1b3f2a44689ae9.zip
Delay abstract hashes lookup (#39251)
Delay lookup for abstract hashes until concretization time, instead of until Spec comparison. This has a few advantages: 1. `satisfies` / `intersects` etc don't always know where to resolve the abstract hash (in some cases it's wrong to look in the current env, db, buildcache, ...). Better to let the call site dictate it. 2. Allows search by abstract hash without triggering a database lookup, causing quadratic complexity issues (accidental nested loop during search) 3. Simplifies queries against the buildcache, they can now use Spec instances instead of strings. The rules are straightforward: 1. a satisfies b when b's hash is prefix of a's hash 2. a intersects b when either a's or b's hash is a prefix of b's or a's hash respectively
Diffstat (limited to 'var')
0 files changed, 0 insertions, 0 deletions