Skip to content

Commit

Permalink
Extend convert-to-delta test to assert on partition stats
Browse files Browse the repository at this point in the history
  • Loading branch information
gruuya committed May 9, 2024
1 parent 562f1ec commit 8eb169c
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 0 deletions.
22 changes: 22 additions & 0 deletions tests/statements/convert.rs
Expand Up @@ -71,5 +71,27 @@ async fn test_convert_from_flat_parquet_table() -> Result<()> {
)
.await;

// Ensure partition/column stats are collected in add logs:
// https://github.com/delta-io/delta-rs/pull/2491
let mut table = context.try_get_delta_table("table_converted").await?;
table.load().await?;
assert_eq!(
table.snapshot()?.min_values(&Column::from_name("column1")),
Some(Arc::new(Int64Array::from(vec![3, 5, 1])) as _)
);
assert_eq!(
table.snapshot()?.max_values(&Column::from_name("column1")),
Some(Arc::new(Int64Array::from(vec![4, 6, 2])) as _)
);

assert_eq!(
table.snapshot()?.min_values(&Column::from_name("column2")),
Some(Arc::new(StringArray::from(vec!["four", "five", "one"])) as _)
);
assert_eq!(
table.snapshot()?.max_values(&Column::from_name("column2")),
Some(Arc::new(StringArray::from(vec!["three", "six", "two"])) as _)
);

Ok(())
}
4 changes: 4 additions & 0 deletions tests/statements/mod.rs
@@ -1,11 +1,15 @@
use std::collections::HashMap;
use std::env;
use std::sync::Arc;
use std::time::Duration;

use arrow::array::{Int64Array, StringArray};
use arrow::record_batch::RecordBatch;
use chrono::{TimeZone, Utc};
use datafusion::assert_batches_eq;
use datafusion::datasource::TableProvider;
use datafusion::physical_optimizer::pruning::PruningStatistics;
use datafusion_common::Column;
use datafusion_common::{assert_contains, Result};
use itertools::sorted;

Expand Down

0 comments on commit 8eb169c

Please sign in to comment.