0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-02-24 14:11:58 -05:00
denoland-deno/ext/node/ops/sqlite/mod.rs
Divy Srivastava 3c56e6c7cd
fix(ext/node): enforce -RW perms on node:sqlite (#27928)
require RW permission on the database path except when using in-memory
mode.
2025-02-02 15:49:39 +05:30

48 lines
1.2 KiB
Rust

// Copyright 2018-2025 the Deno authors. MIT license.
mod database;
mod statement;
pub use database::DatabaseSync;
use deno_permissions::PermissionCheckError;
pub use statement::StatementSync;
#[derive(Debug, thiserror::Error, deno_error::JsError)]
pub enum SqliteError {
#[class(inherit)]
#[error(transparent)]
Permission(#[from] PermissionCheckError),
#[class(generic)]
#[error(transparent)]
SqliteError(#[from] rusqlite::Error),
#[class(generic)]
#[error("Database is already in use")]
InUse,
#[class(generic)]
#[error("Failed to step statement")]
FailedStep,
#[class(generic)]
#[error("Failed to bind parameter. {0}")]
FailedBind(&'static str),
#[class(generic)]
#[error("Unknown column type")]
UnknownColumnType,
#[class(generic)]
#[error("Failed to get SQL")]
GetSqlFailed,
#[class(generic)]
#[error("Database is already closed")]
AlreadyClosed,
#[class(generic)]
#[error("Database is already open")]
AlreadyOpen,
#[class(generic)]
#[error("Failed to prepare statement")]
PrepareFailed,
#[class(generic)]
#[error("Invalid constructor")]
InvalidConstructor,
#[class(range)]
#[error("The value of column {0} is too large to be represented as a JavaScript number: {1}")]
NumberTooLarge(i32, i64),
}