Skip to content

unify pushdown interface#5775

Merged
mccanne merged 4 commits intomainfrom
unified-pushdown
Apr 7, 2025
Merged

unify pushdown interface#5775
mccanne merged 4 commits intomainfrom
unified-pushdown

Conversation

@mccanne
Copy link
Copy Markdown
Collaborator

@mccanne mccanne commented Apr 7, 2025

This commit unifies the pushdown logic for filtering, BSUP filtering, CSUP metadata filtering, and projection into a single interface called zbuf.Pushdown replacing zbuf.Filter. We also added projections to the data filters and arranged for the CSUP reader to project only the needed metadata values according to this projection.

These changes are needed to an upcoming PR that will improve the efficiency of CSUP by doing lazy type loading.

This commit unifies the pushdown logic for filtering, BSUP filtering,
CSUP metadata filtering, and projection into a single interface
called zbuf.Pushdown replacing zbuf.Filter.  We also added projections
to the data filters and arranged for the CSUP reader to project
only the needed metadata values according to this projection.

These changes are needed to an upcoming PR that will improve the
efficiency of CSUP by doing lazy type loading.

func (b *Builder) PushdownOf(e dag.Expr) *Filter {
if e == nil {
func (b *Builder) NewPushdown(e dag.Expr, projection []field.Path) *pushdown {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

But: Return a zbuf.Pushdown here since it's a little opaque for a public method to return an unexported type.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

This is only needed by a test. We can change the test and not export NewPushdown

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

👍

@mccanne mccanne merged commit 28294a6 into main Apr 7, 2025
3 checks passed
@mccanne mccanne deleted the unified-pushdown branch April 7, 2025 17:42
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.

3 participants