Is your feature request related to a problem?
Protocol read eligibility check doesn't live on the shared next provider construction path. The legacy provider enforced this during scan construction, but in the next-provider flow DeltaScan::new() doesn't own the check.
That means TableProviderBuilder::build() can enforce it, but direct DeltaScan::new() callers bypass it entirely.
Describe the solution you'd like
Move the check into DeltaScan::new() or a helper it owns allowing both builder based and direct construction enforce protocol compatibility consistently.
Describe alternatives you've considered
No response
Priority
None
Additional context
Follow up for #4239.
Relevant paths:
- Legacy check: table_provider.rs (old scan-builder path)
- Next provider constructor: table_provider/next/mod.rs
- Current builder: TableProviderBuilder::build()
Contribution
Is your feature request related to a problem?
Protocol read eligibility check doesn't live on the shared next provider construction path. The legacy provider enforced this during scan construction, but in the next-provider flow DeltaScan::new() doesn't own the check.
That means TableProviderBuilder::build() can enforce it, but direct DeltaScan::new() callers bypass it entirely.
Describe the solution you'd like
Move the check into DeltaScan::new() or a helper it owns allowing both builder based and direct construction enforce protocol compatibility consistently.
Describe alternatives you've considered
No response
Priority
None
Additional context
Follow up for #4239.
Relevant paths:
Contribution