MCPcopy Create free account
hub / github.com/apache/datafusion / verify

Method verify

benchmarks/src/sql_benchmark.rs:344–374  ·  view source on GitHub ↗

Verifies persisted results against expected values. Executes the `result_query` or uses the stored last run results, then compares actual output rows to the expected values defined in the benchmark file. # Errors Returns an error if no results are available or if the actual and expected results differ in count or content.

(&mut self, ctx: &SessionContext)

Source from the content-addressed store, hash-verified

342 /// Returns an error if no results are available or if the actual and
343 /// expected results differ in count or content.
344 pub async fn verify(&mut self, ctx: &SessionContext) -> Result<()> {
345 // Check if we have result queries to verify
346 if self.result_queries.is_empty() {
347 return Ok(());
348 }
349
350 if self.last_results.is_none() {
351 return Err(exec_datafusion_err!(
352 "No results available for verification. Run the benchmark first."
353 ));
354 }
355
356 info!("Verifying results...");
357
358 self.load_expected_result_files(ctx).await?;
359
360 // Get the first result query (assuming only one for now)
361 let query = &self.result_queries[0];
362 let formatted_actual_results = if !query.query.trim().is_empty() {
363 let results = ctx.sql(&query.query).await?.collect().await?;
364 format_record_batches(&results)
365 } else {
366 let actual_results = self
367 .last_results
368 .as_ref()
369 .expect("last_results should be present after successful run");
370 format_record_batches(actual_results)
371 }?;
372
373 Self::compare_results(query, &formatted_actual_results, &query.expected_result)
374 }
375
376 /// Runs `cleanup` queries to reset state after the benchmark run.
377 pub async fn cleanup(&mut self, ctx: &SessionContext) -> Result<()> {

Calls 8

format_record_batchesFunction · 0.85
is_noneMethod · 0.80
trimMethod · 0.80
collectMethod · 0.80
sqlMethod · 0.80
is_emptyMethod · 0.45
as_refMethod · 0.45

Tested by

no test coverage detected