Skip to content

Incremental scan#2337

Draft
xanderbailey wants to merge 22 commits intoapache:mainfrom
xanderbailey:xb/incremental_read
Draft

Incremental scan#2337
xanderbailey wants to merge 22 commits intoapache:mainfrom
xanderbailey:xb/incremental_read

Conversation

@xanderbailey
Copy link
Copy Markdown
Contributor

Which issue does this PR close?

  • Closes #.

What changes are included in this PR?

Are these changes tested?

@xanderbailey xanderbailey marked this pull request as draft April 15, 2026 22:56
Comment on lines +36 to +43
/// Filter applied to each [`ManifestFile`] before fetching it.
/// Returns `true` to include the manifest, `false` to skip it.
pub(crate) type ManifestFileFilter = Arc<dyn Fn(&ManifestFile) -> bool + Send + Sync>;

/// Filter applied to each manifest entry after loading a manifest.
/// Returns `true` to include the entry, `false` to skip it.
pub(crate) type ManifestEntryFilter = Arc<dyn Fn(&ManifestEntryRef) -> bool + Send + Sync>;

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I think this is a nice way to inject these filters and should extend to other future scans

pub manifest_entry_filter: Option<ManifestEntryFilter>,
}

impl std::fmt::Debug for PlanContext {
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

ManifestFileFilter and ManifestEntryFilter can't be debug

pub(crate) struct AppendSnapshotSet {
/// Snapshot IDs in the range
snapshot_ids: HashSet<i64>,
}
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

ancestors_between is used here. We need to add validation and operation-type checking on top of it, we're not re-implementing the traversal. Does that make sense?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants