Skip to content

Commit d40f5f8

Browse files
committed
Reopen DuckDB between iterations
Signed-off-by: Adam Gutglick <[email protected]>
1 parent 6fed39f commit d40f5f8

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

benchmarks/ddb-bench/src/main.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,11 @@ async fn main() -> anyhow::Result<()> {
129129
ctx.register_tables(&*benchmark, format)?;
130130
Ok(ctx)
131131
},
132-
|ctx, _query_idx, query| ctx.execute_query(query),
132+
|ctx, _query_idx, query| {
133+
// Make sure to reopen the duckdb connection between iterations
134+
ctx.reopen()?;
135+
ctx.execute_query(query)
136+
},
133137
)?;
134138

135139
let benchmark_id = format!("duckdb-{}", benchmark.dataset_name());

vortex-bench/src/runner.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -316,16 +316,16 @@ impl SqlBenchmarkRunner {
316316
) -> anyhow::Result<()>
317317
where
318318
S: FnMut(Format) -> anyhow::Result<Ctx>,
319-
E: FnMut(&Ctx, usize, &str) -> anyhow::Result<usize>,
319+
E: FnMut(&mut Ctx, usize, &str) -> anyhow::Result<usize>,
320320
{
321321
for format in self.formats.clone() {
322-
let ctx = setup(format)?;
322+
let mut ctx = setup(format)?;
323323

324324
for (query_idx, query) in queries.iter() {
325325
let query_idx = *query_idx;
326326
self.run_query(query_idx, format, iterations, || {
327327
let row_count =
328-
execute(&ctx, query_idx, query.as_str()).unwrap_or_else(|err| {
328+
execute(&mut ctx, query_idx, query.as_str()).unwrap_or_else(|err| {
329329
vortex_panic!("query {query_idx} failed: {err}");
330330
});
331331
(row_count, ())

0 commit comments

Comments
 (0)