ethan-tyler opened a new pull request, #20369:
URL: https://github.com/apache/datafusion/pull/20369

   ## Which issue does this PR close?
   
   - Closes #13614
   
   ## Rationale for this change
   
   `LazyMemoryExec` currently uses generator closures (`LazyBatchGenerator`) as 
its partition interface. This replaces with a `LazyPartition` trait that gives 
partitions a proper abstraction while keeping the old generator path working 
through a legacy adapter.
   
   `generate_series`/`range` are migrated to native `LazyPartition` as the 
first consumer. Proto roundtrip is updated to handle both native and legacy 
forms.
   
   ## What changes are included in this PR?
   
   - `LazyPartition` trait as the native partition interface for 
`LazyMemoryExec`
   - `LazyBatchGeneratorPartition` adapter allowing existing generator to work
   - Deprecated compatibility APIs preserved: `LazyMemoryExec::try_new`, 
`LazyMemoryExec::generators`, `GenerateSeriesTable::as_generator`.
   - `generate_series`/`range` migrated to native `GenerateSeriesPartition`
   - Shared helper for generate series state construction (dedupes native and 
deprecated paths)
   - Proto roundtrip updated for native `GenerateSeriesPartition` with legacy 
adapter fallback
   - Core coop test helper updated to use `LazyPartition`
   - Proto regression test coverage added
   
   ## Are these changes tested?
   
   yes
   
   - `cargo test -p datafusion-physical-plan lazy_memory_tests --lib`
   - `cargo test -p datafusion-functions-table generate_series_tests --lib`
   - `cargo test -p datafusion-proto roundtrip_generate_series --test 
proto_integration`
   - `cargo test -p datafusion execution::coop --test core_integration`
   - `cargo check -p datafusion-physical-plan -p datafusion-functions-table -p 
datafusion-proto -p datafusion`
   
   ## Are there any user-facing changes?
   
   No. `LazyBatchGenerator` and existing public APIs remain available 
(deprecated)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to