added setup strict mode

This commit is contained in:
2026-04-03 00:29:44 -04:00
parent 5c1779651c
commit 776a442374
5 changed files with 53 additions and 32 deletions

View File

@ -42,21 +42,16 @@ fn jspg_failure() -> JsonB {
#[cfg_attr(not(test), pg_extern(strict))]
pub fn jspg_setup(database: JsonB) -> JsonB {
match crate::jspg::Jspg::new(&database.0) {
Ok(new_jspg) => {
let new_arc = Arc::new(new_jspg);
let (new_jspg, drop) = crate::jspg::Jspg::new(&database.0);
let new_arc = Arc::new(new_jspg);
// 3. ATOMIC SWAP
{
let mut lock = GLOBAL_JSPG.write().unwrap();
*lock = Some(new_arc);
}
let drop = crate::drop::Drop::success();
JsonB(serde_json::to_value(drop).unwrap())
}
Err(drop) => JsonB(serde_json::to_value(drop).unwrap()),
// 3. ATOMIC SWAP
{
let mut lock = GLOBAL_JSPG.write().unwrap();
*lock = Some(new_arc);
}
JsonB(serde_json::to_value(drop).unwrap())
}
#[cfg_attr(not(test), pg_extern)]