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

Function test_metadata_cache

datafusion-cli/src/main.rs:564–654  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

562
563 #[tokio::test]
564 async fn test_metadata_cache() -> Result<(), DataFusionError> {
565 let ctx = SessionContext::new();
566 ctx.register_udtf(
567 "metadata_cache",
568 Arc::new(MetadataCacheFunc::new(
569 ctx.task_ctx().runtime_env().cache_manager.clone(),
570 )),
571 );
572
573 ctx.register_parquet(
574 "alltypes_plain",
575 "../parquet-testing/data/alltypes_plain.parquet",
576 ParquetReadOptions::new(),
577 )
578 .await?;
579
580 ctx.register_parquet(
581 "alltypes_tiny_pages",
582 "../parquet-testing/data/alltypes_tiny_pages.parquet",
583 ParquetReadOptions::new(),
584 )
585 .await?;
586
587 ctx.register_parquet(
588 "lz4_raw_compressed_larger",
589 "../parquet-testing/data/lz4_raw_compressed_larger.parquet",
590 ParquetReadOptions::new(),
591 )
592 .await?;
593
594 ctx.sql("select * from alltypes_plain")
595 .await?
596 .collect()
597 .await?;
598 ctx.sql("select * from alltypes_tiny_pages")
599 .await?
600 .collect()
601 .await?;
602 ctx.sql("select * from lz4_raw_compressed_larger")
603 .await?
604 .collect()
605 .await?;
606
607 // initial state
608 let sql = "SELECT split_part(path, '/', -1) as filename, file_size_bytes, metadata_size_bytes, hits, extra from metadata_cache() order by filename";
609 let df = ctx.sql(sql).await?;
610 let rbs = df.collect().await?;
611
612 assert_snapshot!(batches_to_string(&rbs),@r"
613 +-----------------------------------+-----------------+---------------------+------+------------------+
614 | filename | file_size_bytes | metadata_size_bytes | hits | extra |
615 +-----------------------------------+-----------------+---------------------+------+------------------+
616 | alltypes_plain.parquet | 1851 | 8882 | 2 | page_index=false |
617 | alltypes_tiny_pages.parquet | 454233 | 269074 | 2 | page_index=true |
618 | lz4_raw_compressed_larger.parquet | 380836 | 1339 | 2 | page_index=false |
619 +-----------------------------------+-----------------+---------------------+------+------------------+
620 ");
621

Callers

nothing calls this directly

Calls 8

newFunction · 0.85
collectMethod · 0.80
sqlMethod · 0.80
register_udtfMethod · 0.45
cloneMethod · 0.45
runtime_envMethod · 0.45
task_ctxMethod · 0.45
register_parquetMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…