diff --git a/columnq/src/table/arrow_ipc_file.rs b/columnq/src/table/arrow_ipc_file.rs index 4024bd1..c59b8bb 100644 --- a/columnq/src/table/arrow_ipc_file.rs +++ b/columnq/src/table/arrow_ipc_file.rs @@ -48,15 +48,14 @@ pub async fn to_mem_table( #[cfg(test)] mod tests { - use std::fs; + use super::*; use datafusion::datasource::TableProvider; + use std::fs; use crate::table::TableLoadOption; use crate::test_util::*; - use super::*; - #[tokio::test] async fn load_partitions() -> anyhow::Result<()> { let tmp_dir = tempdir::TempDir::new("columnq.test.arrows_partitions")?; @@ -76,7 +75,8 @@ mod tests { ) .await?; - assert_eq!(t.statistics().num_rows, Some(37 * 3)); + let stats = t.scan(&None, 1024, &[], None)?.statistics(); + assert_eq!(stats.num_rows, Some(37 * 3)); Ok(()) } @@ -87,7 +87,8 @@ mod tests { let t = to_mem_table(&TableSource::new("uk_cities".to_string(), test_path)).await?; - assert_eq!(t.statistics().num_rows, Some(37)); + let stats = t.scan(&None, 1024, &[], None)?.statistics(); + assert_eq!(stats.num_rows, Some(37)); Ok(()) } diff --git a/columnq/src/table/arrow_ipc_stream.rs b/columnq/src/table/arrow_ipc_stream.rs index b4ce151..2123c6f 100644 --- a/columnq/src/table/arrow_ipc_stream.rs +++ b/columnq/src/table/arrow_ipc_stream.rs @@ -50,9 +50,8 @@ pub async fn to_mem_table( mod tests { use super::*; - use std::fs; - use datafusion::datasource::TableProvider; + use std::fs; use crate::table::TableLoadOption; use crate::test_util::*; @@ -76,7 +75,8 @@ mod tests { ) .await?; - assert_eq!(t.statistics().num_rows, Some(37 * 3)); + let stats = t.scan(&None, 1024, &[], None)?.statistics(); + assert_eq!(stats.num_rows, Some(37 * 3)); Ok(()) } @@ -87,7 +87,8 @@ mod tests { let t = to_mem_table(&TableSource::new("uk_cities".to_string(), test_path)).await?; - assert_eq!(t.statistics().num_rows, Some(37)); + let stats = t.scan(&None, 1024, &[], None)?.statistics(); + assert_eq!(stats.num_rows, Some(37)); Ok(()) } diff --git a/columnq/src/table/csv.rs b/columnq/src/table/csv.rs index 9e1842c..7b5c109 100644 --- a/columnq/src/table/csv.rs +++ b/columnq/src/table/csv.rs @@ -73,9 +73,8 @@ pub async fn to_mem_table( mod tests { use super::*; - use std::fs; - use datafusion::datasource::TableProvider; + use std::fs; use crate::table::{TableIoSource, TableLoadOption}; use crate::test_util::*; @@ -101,7 +100,8 @@ mod tests { ) .await?; - assert_eq!(t.statistics().num_rows, Some(37 * 3)); + let stats = t.scan(&None, 1024, &[], None)?.statistics(); + assert_eq!(stats.num_rows, Some(37 * 3)); Ok(()) } @@ -122,7 +122,8 @@ c1,c2,c3 )); let t = to_mem_table(&source).await?; - assert_eq!(t.statistics().num_rows, Some(3)); + let stats = t.scan(&None, 1024, &[], None)?.statistics(); + assert_eq!(stats.num_rows, Some(3)); Ok(()) } diff --git a/columnq/src/table/delta.rs b/columnq/src/table/delta.rs index 7a9a648..34706d1 100644 --- a/columnq/src/table/delta.rs +++ b/columnq/src/table/delta.rs @@ -122,8 +122,8 @@ pub async fn to_mem_table( mod tests { use super::*; - use datafusion::datasource::datasource::Statistics; use datafusion::datasource::MemTable; + use datafusion::physical_plan::Statistics; use deltalake::DeltaTable; @@ -141,7 +141,7 @@ mod tests { ) .await?; - validate_statistics(t.statistics()); + validate_statistics(t.scan(&None, 1024, &[], None)?.statistics()); match t.as_any().downcast_ref::() { Some(_) => Ok(()), diff --git a/columnq/src/table/parquet.rs b/columnq/src/table/parquet.rs index 3fbd1d1..236e81e 100644 --- a/columnq/src/table/parquet.rs +++ b/columnq/src/table/parquet.rs @@ -106,8 +106,9 @@ mod tests { ) .await?; - assert_eq!(t.statistics().num_rows, Some(500)); - let stats = t.statistics().column_statistics.unwrap(); + let stats = t.scan(&None, 1024, &[], None)?.statistics(); + assert_eq!(stats.num_rows, Some(500)); + let stats = stats.column_statistics.unwrap(); assert_eq!(stats[0].null_count, Some(245)); assert_eq!(stats[1].null_count, Some(373)); assert_eq!(stats[2].null_count, Some(237)); @@ -135,7 +136,8 @@ mod tests { Some("protobuf") ); - assert_eq!(t.statistics().num_rows, Some(500)); + let stats = t.scan(&None, 1024, &[], None)?.statistics(); + assert_eq!(stats.num_rows, Some(500)); Ok(()) } @@ -164,7 +166,8 @@ mod tests { Some("protobuf") ); - assert_eq!(t.statistics().num_rows, Some(1500)); + let stats = t.scan(&None, 1024, &[], None)?.statistics(); + assert_eq!(stats.num_rows, Some(1500)); Ok(()) }