Skip to content

docs: Document the TableProvider evaluation order for filter, limit and projection#21091

Merged
alamb merged 3 commits intoapache:mainfrom
alamb:alamb/pushdown_order_docs
Mar 23, 2026
Merged

docs: Document the TableProvider evaluation order for filter, limit and projection#21091
alamb merged 3 commits intoapache:mainfrom
alamb:alamb/pushdown_order_docs

Conversation

@alamb
Copy link
Contributor

@alamb alamb commented Mar 21, 2026

Which issue does this PR close?

Rationale for this change

As mentioned by @hareshkh on #21057 (comment):

It is not clear from the existing documentation that the (logical) evaluation order for push down operations is 'filter -> limit -> projection'

this is the actual order implemented by the built in providers, but it wasn't documented anywhere explicitly

What changes are included in this PR?

  1. Explicitly document the evaluation order on TableProvider
  2. Some drive by cleanups of the documentation

Are these changes tested?

By CI

Are there any user-facing changes?

@github-actions github-actions bot added the catalog Related to the catalog crate label Mar 21, 2026
Copy link
Contributor

@comphead comphead left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @alamb

@alamb
Copy link
Contributor Author

alamb commented Mar 23, 2026

Thanks @hareshkh and @comphead for the reviews

@alamb alamb added this pull request to the merge queue Mar 23, 2026
@alamb alamb added the documentation Improvements or additions to documentation label Mar 23, 2026
Merged via the queue into apache:main with commit bec6714 Mar 23, 2026
30 checks passed
@alamb alamb deleted the alamb/pushdown_order_docs branch March 23, 2026 18:03
de-bgunter pushed a commit to de-bgunter/datafusion that referenced this pull request Mar 24, 2026
…nd projection (apache#21091)

## Which issue does this PR close?

- Follow on to apache#21057

## Rationale for this change

As mentioned by @hareshkh on
apache#21057 (comment):

It is not clear from the existing documentation that the (logical)
evaluation order for push down operations is 'filter -> limit ->
projection'

this is the actual order implemented by the built in providers, but it
wasn't documented anywhere explicitly

## What changes are included in this PR?

1. Explicitly document the evaluation order on TableProvider
2. Some drive by cleanups of the documentation 

## Are these changes tested?

By CI

## Are there any user-facing changes?

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

catalog Related to the catalog crate documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants