fix: bump cache sqlite dbs to v2 for WAL journal mode change (#24030)

In https://github.com/denoland/deno/pull/23955 we changed the sqlite db
journal mode to WAL. This causes issues when someone is running an old
version of Deno using TRUNCATE and a new version because the two fight
against each other.
This commit is contained in:
David Sherret 2024-05-29 14:38:18 -04:00 committed by GitHub
parent fada25b0dd
commit 94f040ac28
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
22 changed files with 347 additions and 263 deletions

View file

@ -13,6 +13,7 @@ use deno_runtime::deno_node::analyze::NodeCodeTranslator;
use serde::Deserialize;
use serde::Serialize;
use crate::cache::CacheDBHash;
use crate::cache::NodeAnalysisCache;
use crate::util::fs::canonicalize_path_maybe_not_exists;
@ -63,10 +64,9 @@ impl CliCjsCodeAnalyzer {
specifier: &ModuleSpecifier,
source: &str,
) -> Result<CliCjsAnalysis, AnyError> {
let source_hash = NodeAnalysisCache::compute_source_hash(source);
if let Some(analysis) = self
.cache
.get_cjs_analysis(specifier.as_str(), &source_hash)
let source_hash = CacheDBHash::from_source(source);
if let Some(analysis) =
self.cache.get_cjs_analysis(specifier.as_str(), source_hash)
{
return Ok(analysis);
}
@ -107,7 +107,7 @@ impl CliCjsCodeAnalyzer {
self
.cache
.set_cjs_analysis(specifier.as_str(), &source_hash, &analysis);
.set_cjs_analysis(specifier.as_str(), source_hash, &analysis);
Ok(analysis)
}