Skip to content

Commit

Permalink
Don't run SET TRANSACTION ISOLATION LEVEL with sqlite
Browse files Browse the repository at this point in the history
  • Loading branch information
aqrln committed Sep 11, 2023
1 parent 5b1a9cb commit cc3295d
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 6 deletions.
4 changes: 2 additions & 2 deletions query-engine/driver-adapters/src/proxy.rs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ pub(crate) struct TransactionProxy {
/// commit transaction
commit: AsyncJsFunction<(), ()>,

/// rollback transcation
/// rollback transaction
rollback: AsyncJsFunction<(), ()>,
}

Expand Down Expand Up @@ -353,7 +353,7 @@ impl TransactionProxy {
pub fn new(js_transaction: &JsObject) -> napi::Result<Self> {
let commit = js_transaction.get_named_property("commit")?;
let rollback = js_transaction.get_named_property("rollback")?;
let options: TransactionOptions = js_transaction.get_named_property("options")?;
let options = js_transaction.get_named_property("options")?;

Ok(Self {
commit,
Expand Down
12 changes: 8 additions & 4 deletions query-engine/driver-adapters/src/queryable.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,7 @@ use async_trait::async_trait;
use napi::JsObject;
use psl::datamodel_connector::Flavour;
use quaint::{
connector::{
metrics::{self},
IsolationLevel, Transaction,
},
connector::{metrics, IsolationLevel, Transaction},
error::{Error, ErrorKind},
prelude::{Query as QuaintQuery, Queryable as QuaintQueryable, ResultSet, TransactionCapable},
visitor::{self, Visitor},
Expand Down Expand Up @@ -112,6 +109,13 @@ impl QuaintQueryable for JsBaseQueryable {
return Err(Error::builder(ErrorKind::invalid_isolation_level(&isolation_level)).build());
}

if self.flavour == Flavour::Sqlite {
return match isolation_level {
IsolationLevel::Serializable => Ok(()),
_ => Err(Error::builder(ErrorKind::invalid_isolation_level(&isolation_level)).build()),
};
}

self.raw_cmd(&format!("SET TRANSACTION ISOLATION LEVEL {isolation_level}"))
.await
}
Expand Down

0 comments on commit cc3295d

Please sign in to comment.