diff --git a/bindings/javascript/src/lib.rs b/bindings/javascript/src/lib.rs index 928b475ef..0911c116b 100644 --- a/bindings/javascript/src/lib.rs +++ b/bindings/javascript/src/lib.rs @@ -338,7 +338,7 @@ impl Database { #[napi] pub fn io_loop_sync(&self) -> Result<()> { self.io - .run_once() + .step() .map_err(|e| Error::new(Status::GenericFailure, format!("IO error: {e}")))?; Ok(()) } @@ -631,7 +631,7 @@ impl Task for IoLoopTask { type JsValue = (); fn compute(&mut self) -> napi::Result { - self.io.run_once().map_err(|e| { + self.io.step().map_err(|e| { napi::Error::new(napi::Status::GenericFailure, format!("IO error: {e}")) })?; Ok(()) diff --git a/core/io/generic.rs b/core/io/generic.rs index 7b7fcf99b..8eef59d3b 100644 --- a/core/io/generic.rs +++ b/core/io/generic.rs @@ -37,7 +37,7 @@ impl IO for GenericIO { } #[instrument(err, skip_all, level = Level::TRACE)] - fn run_once(&self) -> Result<()> { + fn step(&self) -> Result<()> { Ok(()) } } diff --git a/core/io/io_uring.rs b/core/io/io_uring.rs index e56221b65..03f8dc3a0 100644 --- a/core/io/io_uring.rs +++ b/core/io/io_uring.rs @@ -624,8 +624,8 @@ impl IO for UringIO { Ok(()) } - fn run_once(&self) -> Result<()> { - trace!("run_once()"); + fn step(&self) -> Result<()> { + trace!("step()"); let mut inner = self.inner.lock(); let ring = &mut inner.ring; ring.flush_overflow()?; diff --git a/core/io/mod.rs b/core/io/mod.rs index 15028f7eb..139d99221 100644 --- a/core/io/mod.rs +++ b/core/io/mod.rs @@ -84,7 +84,7 @@ pub trait IO: Clock + Send + Sync { // remove_file is used in the sync-engine fn remove_file(&self, path: &str) -> Result<()>; - fn run_once(&self) -> Result<()> { + fn step(&self) -> Result<()> { Ok(()) } @@ -99,7 +99,7 @@ pub trait IO: Clock + Send + Sync { fn wait_for_completion(&self, c: Completion) -> Result<()> { while !c.finished() { - self.run_once()? + self.step()? } if let Some(Some(err)) = c.inner.result.get().copied() { return Err(err.into()); diff --git a/core/io/unix.rs b/core/io/unix.rs index 1f7fbb8c7..174a3941c 100644 --- a/core/io/unix.rs +++ b/core/io/unix.rs @@ -120,7 +120,7 @@ impl IO for UnixIO { } #[instrument(err, skip_all, level = Level::TRACE)] - fn run_once(&self) -> Result<()> { + fn step(&self) -> Result<()> { Ok(()) } } diff --git a/core/io/vfs.rs b/core/io/vfs.rs index a0eb7aec5..9c7b116c0 100644 --- a/core/io/vfs.rs +++ b/core/io/vfs.rs @@ -45,7 +45,7 @@ impl IO for VfsMod { Ok(()) } - fn run_once(&self) -> Result<()> { + fn step(&self) -> Result<()> { if self.ctx.is_null() { return Err(LimboError::ExtensionError("VFS is null".to_string())); } diff --git a/core/io/windows.rs b/core/io/windows.rs index 77662bce2..a884cc922 100644 --- a/core/io/windows.rs +++ b/core/io/windows.rs @@ -37,7 +37,7 @@ impl IO for WindowsIO { } #[instrument(err, skip_all, level = Level::TRACE)] - fn run_once(&self) -> Result<()> { + fn step(&self) -> Result<()> { Ok(()) } } diff --git a/core/lib.rs b/core/lib.rs index 544b81cbf..cb3184625 100644 --- a/core/lib.rs +++ b/core/lib.rs @@ -2212,7 +2212,7 @@ impl Statement { } pub fn run_once(&self) -> Result<()> { - let res = self.pager.io.run_once(); + let res = self.pager.io.step(); if self.program.connection.is_nested_stmt.get() { return res; } diff --git a/core/mvcc/database/tests.rs b/core/mvcc/database/tests.rs index be3a29a5d..481f9cdaf 100644 --- a/core/mvcc/database/tests.rs +++ b/core/mvcc/database/tests.rs @@ -1309,7 +1309,7 @@ fn test_concurrent_writes() { } } } - db.get_db().io.run_once().unwrap(); + db.get_db().io.step().unwrap(); if all_finished { break; diff --git a/core/storage/btree.rs b/core/storage/btree.rs index a89341974..92db4ae85 100644 --- a/core/storage/btree.rs +++ b/core/storage/btree.rs @@ -7606,7 +7606,7 @@ mod tests { let cursor = BTreeCursor::new_table(None, pager.clone(), page_idx, num_columns); let (page, _c) = cursor.read_page(page_idx).unwrap(); while page.is_locked() { - pager.io.run_once().unwrap(); + pager.io.step().unwrap(); } // Pin page in order to not drop it in between @@ -7626,7 +7626,7 @@ mod tests { }) => { let (child_page, _c) = cursor.read_page(left_child_page as usize).unwrap(); while child_page.is_locked() { - pager.io.run_once().unwrap(); + pager.io.step().unwrap(); } child_pages.push(child_page); if left_child_page == page.get().id as u32 { @@ -7685,7 +7685,7 @@ mod tests { *p = new_page; } while p.is_locked() { - pager.io.run_once().unwrap(); + pager.io.step().unwrap(); } p.get_contents().page_type() }); @@ -7696,7 +7696,7 @@ mod tests { *page = new_page; } while page.is_locked() { - pager.io.run_once().unwrap(); + pager.io.step().unwrap(); } if page.get_contents().page_type() != child_type { tracing::error!("child pages have different types"); @@ -7717,7 +7717,7 @@ mod tests { let cursor = BTreeCursor::new_table(None, pager.clone(), page_idx, num_columns); let (page, _c) = cursor.read_page(page_idx).unwrap(); while page.is_locked() { - pager.io.run_once().unwrap(); + pager.io.step().unwrap(); } // Pin page in order to not drop it in between loading of different pages. If not contents will be a dangling reference. @@ -8711,7 +8711,7 @@ mod tests { .unwrap(), ); - pager.io.run_once().unwrap(); + pager.io.step().unwrap(); let _ = run_until_done(|| pager.allocate_page1(), &pager); for _ in 0..(database_size - 1) { @@ -8763,11 +8763,11 @@ mod tests { &IOContext::default(), c, )?; - pager.io.run_once()?; + pager.io.step()?; let (page, _c) = cursor.read_page(current_page as usize)?; while page.is_locked() { - cursor.pager.io.run_once()?; + cursor.pager.io.step()?; } { @@ -8786,7 +8786,7 @@ mod tests { current_page += 1; } - pager.io.run_once()?; + pager.io.step()?; // Create leaf cell pointing to start of overflow chain let leaf_cell = BTreeCell::TableLeafCell(TableLeafCell { diff --git a/simulator/runner/io.rs b/simulator/runner/io.rs index dbb0b3953..63c350ae2 100644 --- a/simulator/runner/io.rs +++ b/simulator/runner/io.rs @@ -121,12 +121,12 @@ impl IO for SimulatorIO { Ok(()) } - fn run_once(&self) -> Result<()> { + fn step(&self) -> Result<()> { let now = self.now(); for file in self.files.borrow().iter() { file.run_queued_io(now)?; } - self.inner.run_once()?; + self.inner.step()?; Ok(()) } diff --git a/simulator/runner/memory/io.rs b/simulator/runner/memory/io.rs index 46f272500..124ff2caf 100644 --- a/simulator/runner/memory/io.rs +++ b/simulator/runner/memory/io.rs @@ -227,7 +227,7 @@ impl IO for MemorySimIO { Ok(file) } - fn run_once(&self) -> Result<()> { + fn step(&self) -> Result<()> { let mut callbacks = self.callbacks.lock(); let mut timeouts = self.timeouts.lock(); tracing::trace!( diff --git a/sync/engine/src/database_tape.rs b/sync/engine/src/database_tape.rs index d0ee1eed0..daeb6c3d9 100644 --- a/sync/engine/src/database_tape.rs +++ b/sync/engine/src/database_tape.rs @@ -716,7 +716,7 @@ mod tests { }); let rows = loop { match gen.resume_with(Ok(())) { - genawaiter::GeneratorState::Yielded(..) => io.run_once().unwrap(), + genawaiter::GeneratorState::Yielded(..) => io.step().unwrap(), genawaiter::GeneratorState::Complete(result) => break result, } }; @@ -750,7 +750,7 @@ mod tests { }); let changes = loop { match gen.resume_with(Ok(())) { - genawaiter::GeneratorState::Yielded(..) => io.run_once().unwrap(), + genawaiter::GeneratorState::Yielded(..) => io.step().unwrap(), genawaiter::GeneratorState::Complete(result) => break result, } }; @@ -841,7 +841,7 @@ mod tests { }); let rows = loop { match gen.resume_with(Ok(())) { - genawaiter::GeneratorState::Yielded(..) => io.run_once().unwrap(), + genawaiter::GeneratorState::Yielded(..) => io.step().unwrap(), genawaiter::GeneratorState::Complete(rows) => break rows, } }; @@ -921,7 +921,7 @@ mod tests { }); let rows = loop { match gen.resume_with(Ok(())) { - genawaiter::GeneratorState::Yielded(..) => io.run_once().unwrap(), + genawaiter::GeneratorState::Yielded(..) => io.step().unwrap(), genawaiter::GeneratorState::Complete(rows) => break rows, } }; @@ -992,7 +992,7 @@ mod tests { }); let rows = loop { match gen.resume_with(Ok(())) { - genawaiter::GeneratorState::Yielded(..) => io.run_once().unwrap(), + genawaiter::GeneratorState::Yielded(..) => io.step().unwrap(), genawaiter::GeneratorState::Complete(rows) => break rows, } }; @@ -1129,7 +1129,7 @@ mod tests { }); loop { match gen.resume_with(Ok(())) { - genawaiter::GeneratorState::Yielded(..) => io.run_once().unwrap(), + genawaiter::GeneratorState::Yielded(..) => io.step().unwrap(), genawaiter::GeneratorState::Complete(result) => { result.unwrap(); break; @@ -1214,7 +1214,7 @@ mod tests { }); loop { match gen.resume_with(Ok(())) { - genawaiter::GeneratorState::Yielded(..) => io.run_once().unwrap(), + genawaiter::GeneratorState::Yielded(..) => io.step().unwrap(), genawaiter::GeneratorState::Complete(result) => { result.unwrap(); break; @@ -1289,7 +1289,7 @@ mod tests { }); loop { match gen.resume_with(Ok(())) { - genawaiter::GeneratorState::Yielded(..) => io.run_once().unwrap(), + genawaiter::GeneratorState::Yielded(..) => io.step().unwrap(), genawaiter::GeneratorState::Complete(result) => { result.unwrap(); break; @@ -1385,7 +1385,7 @@ mod tests { }); loop { match gen.resume_with(Ok(())) { - genawaiter::GeneratorState::Yielded(..) => io.run_once().unwrap(), + genawaiter::GeneratorState::Yielded(..) => io.step().unwrap(), genawaiter::GeneratorState::Complete(result) => { result.unwrap(); break; diff --git a/sync/javascript/src/lib.rs b/sync/javascript/src/lib.rs index 290d9235f..7ebc535d4 100644 --- a/sync/javascript/src/lib.rs +++ b/sync/javascript/src/lib.rs @@ -252,7 +252,7 @@ impl SyncEngine { #[napi] pub fn io_loop_sync(&self) -> napi::Result<()> { - self.io.run_once().map_err(|e| { + self.io.step().map_err(|e| { napi::Error::new(napi::Status::GenericFailure, format!("IO error: {e}")) })?; Ok(()) diff --git a/tests/integration/functions/test_wal_api.rs b/tests/integration/functions/test_wal_api.rs index 4f3444cc8..1a3f13fa6 100644 --- a/tests/integration/functions/test_wal_api.rs +++ b/tests/integration/functions/test_wal_api.rs @@ -509,7 +509,7 @@ fn test_wal_upper_bound_passive() { Ok(StepResult::Row) => { rows.push(stmt.row().unwrap().get_values().cloned().collect()) } - Ok(StepResult::IO) => db_copy.io.run_once().unwrap(), + Ok(StepResult::IO) => db_copy.io.step().unwrap(), Ok(StepResult::Done) => break, result => panic!("unexpected step result: {result:?}"), } @@ -702,7 +702,7 @@ fn test_wal_api_exec_commit() { let result = stmt.step(); match result { Ok(StepResult::Row) => rows.push(stmt.row().unwrap().get_values().cloned().collect()), - Ok(StepResult::IO) => db.io.run_once().unwrap(), + Ok(StepResult::IO) => db.io.step().unwrap(), Ok(StepResult::Done) => break, result => panic!("unexpected step result: {result:?}"), } @@ -749,7 +749,7 @@ fn test_wal_api_exec_rollback() { let result = stmt.step(); match result { Ok(StepResult::Row) => rows.push(stmt.row().unwrap().get_values().cloned().collect()), - Ok(StepResult::IO) => db.io.run_once().unwrap(), + Ok(StepResult::IO) => db.io.step().unwrap(), Ok(StepResult::Done) => break, result => panic!("unexpected step result: {result:?}"), } @@ -813,7 +813,7 @@ fn test_wal_api_insert_exec_mix() { let result = stmt.step(); match result { Ok(StepResult::Row) => rows.push(stmt.row().unwrap().get_values().cloned().collect()), - Ok(StepResult::IO) => db.io.run_once().unwrap(), + Ok(StepResult::IO) => db.io.step().unwrap(), Ok(StepResult::Done) => break, result => panic!("unexpected step result: {result:?}"), } @@ -839,7 +839,7 @@ fn test_wal_api_insert_exec_mix() { let result = stmt.step(); match result { Ok(StepResult::Row) => rows.push(stmt.row().unwrap().get_values().cloned().collect()), - Ok(StepResult::IO) => db.io.run_once().unwrap(), + Ok(StepResult::IO) => db.io.step().unwrap(), Ok(StepResult::Done) => break, result => panic!("unexpected step result: {result:?}"), } @@ -908,7 +908,7 @@ fn test_db_share_same_file() { let result = stmt.step(); match result { Ok(StepResult::Row) => rows.push(stmt.row().unwrap().get_values().cloned().collect()), - Ok(StepResult::IO) => db2.io.run_once().unwrap(), + Ok(StepResult::IO) => db2.io.step().unwrap(), Ok(StepResult::Done) => break, result => panic!("unexpected step result: {result:?}"), } diff --git a/tests/integration/query_processing/test_btree.rs b/tests/integration/query_processing/test_btree.rs index 1355d81e8..5a4fa79c8 100644 --- a/tests/integration/query_processing/test_btree.rs +++ b/tests/integration/query_processing/test_btree.rs @@ -436,7 +436,7 @@ fn write_at(io: &impl IO, file: Arc, offset: usize, data: &[u8]) { }); let result = file.pwrite(offset as u64, buffer, completion).unwrap(); while !result.is_completed() { - io.run_once().unwrap(); + io.step().unwrap(); } } diff --git a/tests/integration/query_processing/test_write_path.rs b/tests/integration/query_processing/test_write_path.rs index 222d2deb4..2bd4263c0 100644 --- a/tests/integration/query_processing/test_write_path.rs +++ b/tests/integration/query_processing/test_write_path.rs @@ -317,7 +317,7 @@ fn test_wal_restart() -> anyhow::Result<()> { let insert_query = format!("INSERT INTO test VALUES ({i})"); run_query(tmp_db, conn, &insert_query)?; debug!("inserted {i}"); - tmp_db.io.run_once()?; + tmp_db.io.step()?; Ok(()) }