Skip to content

Use TableSchema in FileScanConfig - #18231

Merged
Weijun-H merged 2 commits into
apache:mainfrom
pydantic:use-table-schema-filescanconfig
Oct 24, 2025
Merged

Use TableSchema in FileScanConfig#18231
Weijun-H merged 2 commits into
apache:mainfrom
pydantic:use-table-schema-filescanconfig

Conversation

@adriangb

Copy link
Copy Markdown
Contributor

Steps towards #14993

@github-actionsgithub-actionsBot added the datasource Changes to the datasource crate label Oct 22, 2025
@adriangb
adriangbforce-pushed the use-table-schema-filescanconfig branch from a2348e5 to 212a032CompareOctober 22, 2025 20:35
@adriangb
adriangbforce-pushed the use-table-schema-filescanconfig branch from 212a032 to 52b2dd4CompareOctober 22, 2025 20:37
@Weijun-HWeijun-H added the api change Changes the API exposed to users of the crate label Oct 24, 2025
@Weijun-H
Weijun-H added this pull request to the merge queueOct 24, 2025
Merged via the queue into apache:main with commit 665a552Oct 24, 2025
28 checks passed
@adriangb
adriangb deleted the use-table-schema-filescanconfig branch October 24, 2025 13:35
adriangb added a commit to pydantic/datafusion that referenced this pull request Oct 24, 2025
@adriangb

Copy link
Copy Markdown
ContributorAuthor

Followup to add to upgrade guide: #18269

adriangb added a commit to pydantic/datafusion that referenced this pull request Oct 27, 2025
github-merge-queueBot pushed a commit that referenced this pull request Oct 27, 2025
## Which issue does this PR close?
- Related to #14993
## Rationale for this change
To enable expression pushdown to file sources, we need to plumb
expressions through the `FileScanConfig` layer. Currently,
`FileScanConfig` only tracks column indices for projection, which limits
us to simple and naive column selection.
This PR begins expression pushdown implementation by having
`FileScanConfig` own a list of `ProjectionExpr`s, instead of column
indices. This allows file sources to eventually receive and optimize
based on the actual expressions being projected.
## Notes about this PR
- The first commit is based off of
#18231
- To avoid a super large diff and a harder review, I've decided to break
(#14993) into 2 tasks:
- Have the `DataSource` (`FileScanConfig`) actually hold projection
expressions (this PR)
- Flow the projection expressions from `DataSourceExec` all the way to
the `FileSource`
---------
Co-authored-by: Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>
tschwarzinger pushed a commit to tschwarzinger/datafusion that referenced this pull request Nov 2, 2025
tschwarzinger pushed a commit to tschwarzinger/datafusion that referenced this pull request Nov 2, 2025
## Which issue does this PR close?
- Related to apache#14993
## Rationale for this change
To enable expression pushdown to file sources, we need to plumb
expressions through the `FileScanConfig` layer. Currently,
`FileScanConfig` only tracks column indices for projection, which limits
us to simple and naive column selection.
This PR begins expression pushdown implementation by having
`FileScanConfig` own a list of `ProjectionExpr`s, instead of column
indices. This allows file sources to eventually receive and optimize
based on the actual expressions being projected.
## Notes about this PR
- The first commit is based off of
apache#18231
- To avoid a super large diff and a harder review, I've decided to break
(apache#14993) into 2 tasks:
- Have the `DataSource` (`FileScanConfig`) actually hold projection
expressions (this PR)
- Flow the projection expressions from `DataSourceExec` all the way to
the `FileSource`
---------
Co-authored-by: Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>
codetyri0n pushed a commit to codetyri0n/datafusion that referenced this pull request Nov 11, 2025
## Which issue does this PR close?
- Related to apache#14993
## Rationale for this change
To enable expression pushdown to file sources, we need to plumb
expressions through the `FileScanConfig` layer. Currently,
`FileScanConfig` only tracks column indices for projection, which limits
us to simple and naive column selection.
This PR begins expression pushdown implementation by having
`FileScanConfig` own a list of `ProjectionExpr`s, instead of column
indices. This allows file sources to eventually receive and optimize
based on the actual expressions being projected.
## Notes about this PR
- The first commit is based off of
apache#18231
- To avoid a super large diff and a harder review, I've decided to break
(apache#14993) into 2 tasks:
- Have the `DataSource` (`FileScanConfig`) actually hold projection
expressions (this PR)
- Flow the projection expressions from `DataSourceExec` all the way to
the `FileSource`
---------
Co-authored-by: Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>
EeshanBembi pushed a commit to EeshanBembi/datafusion that referenced this pull request Nov 24, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api changeChanges the API exposed to users of the cratedatasourceChanges to the datasource crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@adriangb@xudong963@Weijun-H