Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] add SourcePage interface for delayed materialization of ConnectorSourceData #24011

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

dain
Copy link
Member

@dain dain commented Nov 3, 2024

Warning

THIS IS A WORK IN PROGRESS

Description

This adds a new interface to the SPI, SourcePage, which will be the eventual replacement for Page in ConnectorPageSource. Since SourcePage is an interface it allows the connector to directly know when columns are being accessed.

Additionally, SourcePage is not intended to be thread safe, it can be mutable. Specifically, the interface contains the method:

void selectPositions(int[] positions, int offset, int size);

This reduces the positions that will be returned from the SourcePage, and since this is a mutation operation the connector knows that only the specified positions can be accessed. This allows data sources to use this information for skipping unnecessary reads.

Release notes

( ) This is not user-visible or is docs only, and no release notes are required.
( ) Release notes are required. Please propose a release note for me.
( ) Release notes are required, with the following suggested text:

## Section
* Fix some things. ({issue}`issuenumber`)

@cla-bot cla-bot bot added the cla-signed label Nov 3, 2024
@github-actions github-actions bot added hudi Hudi connector iceberg Iceberg connector delta-lake Delta Lake connector hive Hive connector bigquery BigQuery connector mongodb MongoDB connector labels Nov 3, 2024
@dain dain force-pushed the dain/source-page branch 6 times, most recently from 409599d to f31ac85 Compare November 5, 2024 17:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bigquery BigQuery connector cla-signed delta-lake Delta Lake connector hive Hive connector hudi Hudi connector iceberg Iceberg connector mongodb MongoDB connector
Development

Successfully merging this pull request may close these issues.

1 participant