From 23600e11ac1835c44af15f900e4d73f41529be6d Mon Sep 17 00:00:00 2001 From: Ziyang Hu Date: Thu, 29 Jun 2023 01:53:53 +0800 Subject: [PATCH] fix wrong check order --- cozo-core/src/runtime/imperative.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cozo-core/src/runtime/imperative.rs b/cozo-core/src/runtime/imperative.rs index 751dadcc..9b62ca67 100644 --- a/cozo-core/src/runtime/imperative.rs +++ b/cozo-core/src/runtime/imperative.rs @@ -260,12 +260,12 @@ impl<'s, S: Storage<'s>> Db { ) -> Result { let mut callback_collector = BTreeMap::new(); let mut write_lock_names = BTreeSet::new(); - if readonly && !write_lock_names.is_empty() { - bail!("Read-only imperative program attempted to acquire write locks"); - } for p in ps { p.needs_write_locks(&mut write_lock_names); } + if readonly && !write_lock_names.is_empty() { + bail!("Read-only imperative program attempted to acquire write locks"); + } let is_write = !write_lock_names.is_empty(); let write_lock = self.obtain_relation_locks(write_lock_names.iter()); let _write_lock_guards = write_lock.iter().map(|l| l.read().unwrap()).collect_vec();