summaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorLuca Casonato <hello@lcas.dev>2023-10-31 12:13:57 +0100
committerGitHub <noreply@github.com>2023-10-31 11:13:57 +0000
commit2d9298f5f5550c21ba218ff7095aa9afe80c7e02 (patch)
tree6daee1cc6007745097e176c7367b697e58632baf /runtime
parent092555c611ebab87ad570b4dcb73d54288dccdd9 (diff)
chore: update ext/kv to use denokv_* crates (#20986)
This commit updates the ext/kv module to use the denokv_* crates for the protocol and the sqlite backend. This also fixes a couple of bugs in the sqlite backend, and updates versionstamps to be updated less linearly.
Diffstat (limited to 'runtime')
-rw-r--r--runtime/build.rs2
-rw-r--r--runtime/errors.rs4
-rw-r--r--runtime/web_worker.rs14
-rw-r--r--runtime/worker.rs10
4 files changed, 28 insertions, 2 deletions
diff --git a/runtime/build.rs b/runtime/build.rs
index dec687b6e..ce1896e6f 100644
--- a/runtime/build.rs
+++ b/runtime/build.rs
@@ -222,7 +222,7 @@ mod startup_snapshot {
deno_tls::deno_tls::init_ops_and_esm(),
deno_kv::deno_kv::init_ops_and_esm(deno_kv::sqlite::SqliteDbHandler::<
Permissions,
- >::new(None)),
+ >::new(None, None)),
deno_napi::deno_napi::init_ops_and_esm::<Permissions>(),
deno_http::deno_http::init_ops_and_esm::<DefaultHttpPropertyExtractor>(),
deno_io::deno_io::init_ops_and_esm(Default::default()),
diff --git a/runtime/errors.rs b/runtime/errors.rs
index e6ae14abb..47925fe5c 100644
--- a/runtime/errors.rs
+++ b/runtime/errors.rs
@@ -212,6 +212,10 @@ pub fn get_error_class_name(e: &AnyError) -> Option<&'static str> {
.map(get_url_parse_error_class)
})
.or_else(|| {
+ e.downcast_ref::<deno_kv::sqlite::TypeError>()
+ .map(|_| "TypeError")
+ })
+ .or_else(|| {
#[cfg(unix)]
let maybe_get_nix_error_class =
|| e.downcast_ref::<nix::Error>().map(get_nix_error_class);
diff --git a/runtime/web_worker.rs b/runtime/web_worker.rs
index c1fe5a619..de69ce43b 100644
--- a/runtime/web_worker.rs
+++ b/runtime/web_worker.rs
@@ -436,7 +436,19 @@ impl WebWorker {
),
deno_tls::deno_tls::init_ops_and_esm(),
deno_kv::deno_kv::init_ops_and_esm(
- MultiBackendDbHandler::remote_or_sqlite::<PermissionsContainer>(None),
+ MultiBackendDbHandler::remote_or_sqlite::<PermissionsContainer>(
+ None,
+ options.seed,
+ deno_kv::remote::HttpOptions {
+ user_agent: options.bootstrap.user_agent.clone(),
+ root_cert_store_provider: options.root_cert_store_provider.clone(),
+ unsafely_ignore_certificate_errors: options
+ .unsafely_ignore_certificate_errors
+ .clone(),
+ client_cert_chain_and_key: None,
+ proxy: None,
+ },
+ ),
),
deno_napi::deno_napi::init_ops_and_esm::<PermissionsContainer>(),
deno_http::deno_http::init_ops_and_esm::<DefaultHttpPropertyExtractor>(),
diff --git a/runtime/worker.rs b/runtime/worker.rs
index e8d9ca6bc..f0fc25aa2 100644
--- a/runtime/worker.rs
+++ b/runtime/worker.rs
@@ -261,6 +261,16 @@ impl MainWorker {
deno_kv::deno_kv::init_ops_and_esm(
MultiBackendDbHandler::remote_or_sqlite::<PermissionsContainer>(
options.origin_storage_dir.clone(),
+ options.seed,
+ deno_kv::remote::HttpOptions {
+ user_agent: options.bootstrap.user_agent.clone(),
+ root_cert_store_provider: options.root_cert_store_provider.clone(),
+ unsafely_ignore_certificate_errors: options
+ .unsafely_ignore_certificate_errors
+ .clone(),
+ client_cert_chain_and_key: None,
+ proxy: None,
+ },
),
),
deno_napi::deno_napi::init_ops_and_esm::<PermissionsContainer>(),