# PR
## Morsel
- Issue: [Introduce morsel-driven Parquet scan #20529](https://github.com/apache/datafusion/issues/20529)
- Issue: [Support Morsel output for Parquet known to be non blocking #21598](https://github.com/apache/datafusion/issues/21598)
- PR: [Introduce Morselizer API, rewrite ParquetOpener to ParquetMorselizer](https://github.com/apache/datafusion/pull/21327)
- PR: [Rewrite FileStream in terms of Morsel API #21342](https://github.com/apache/datafusion/pull/21342)
- PR: [Refactor parquet datasource into an explicit state machine #21190](https://github.com/apache/datafusion/pull/21190)
----
# Posts
- [Query Optimization - When Ordering Requirement is Satisfied?](https://akurmustafa.github.io/blogs/query_optimization_ordering_analysis/query_optimization_ordering_analysis.html)
- [Using Ordering for Better Plans in Apache DataFusion](https://datafusion.apache.org/blog/2025/03/11/ordering-analysis/)
- [Using Rust async for Query Execution and Cancelling Long-Running Querie](https://datafusion.apache.org/blog/2025/06/30/cancellation/)
- filter & pruning
- [Efficient Filter Pushdown in Parquet](https://datafusion.apache.org/blog/2025/03/21/parquet-pushdown/)
- [Parquet Pruning in DataFusion: Read Only What Matters](https://datafusion.apache.org/blog/2025/03/20/parquet-pruning/)
- [Dynamic Filters: Passing Information Between Operators During Execution for 25x Faster Queries](https://datafusion.apache.org/blog/2025/09/10/dynamic-filters/)
- [Turning LIMIT into an I/O Optimization: Inside DataFusion’s Multi-Layer Pruning Stack](https://datafusion.apache.org/blog/2026/03/20/limit-pruning)
- string view
- [Using StringView / German Style Strings to Make Queries Faster: Part 1- Reading Parquet](https://datafusion.apache.org/blog/2024/09/13/string-view-german-style-strings-part-1/)
- [Using StringView / German Style Strings to make Queries Faster: Part 2 - String Operations](https://datafusion.apache.org/blog/2024/09/13/string-view-german-style-strings-part-2/)
- [Using Rustlang's Async Tokio Runtime for CPU-Bound Tasks](https://www.influxdata.com/blog/using-rustlangs-async-tokio-runtime-for-cpu-bound-tasks/)
- [Rust Object Store Donation](https://www.influxdata.com/blog/rust-object-store-donation/)