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

Eliminate more typ and arity calls #30884

Merged
merged 4 commits into from
Jan 10, 2025

Conversation

ggevay
Copy link
Contributor

@ggevay ggevay commented Dec 20, 2024

This is on top of #30881, because it relies on the new variations of take_safely.

Nightly (subset): https://buildkite.com/materialize/nightly/builds/10717

Motivation

  • This PR refactors existing code.

Tips for reviewer

Checklist

  • This PR has adequate test coverage / QA involvement has been duly considered. (trigger-ci for additional test/nightly runs)
  • This PR has an associated up-to-date design doc, is a design doc (template), or is sufficiently small to not require a design.
  • If this PR evolves an existing $T ⇔ Proto$T mapping (possibly in a backwards-incompatible way), then it is tagged with a T-proto label.
  • If this PR will require changes to cloud orchestration or tests, there is a companion cloud PR to account for those changes that is tagged with the release-blocker label (example).
  • If this PR includes major user-facing behavior changes, I have pinged the relevant PM to schedule a changelog post.

@@ -219,7 +219,8 @@ impl Demand {
for expr in exprs {
expr.support_into(&mut columns);
}
columns.retain(|c| *c < input.arity());
Copy link
Contributor Author

Choose a reason for hiding this comment

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

ouch

@ggevay ggevay force-pushed the typ-demand-literal-constr branch 3 times, most recently from 69ad6a7 to 893d0d0 Compare December 20, 2024 18:00
@ggevay ggevay marked this pull request as ready for review December 20, 2024 19:16
@ggevay ggevay requested a review from a team as a code owner December 20, 2024 19:16
@ggevay ggevay force-pushed the typ-demand-literal-constr branch from 893d0d0 to 50072db Compare January 6, 2025 11:29
@ggevay ggevay requested a review from mgree January 6, 2025 11:31
Copy link
Contributor

@mgree mgree left a comment

Choose a reason for hiding this comment

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

Looks good (if tedious to have typed up)!

@@ -329,6 +329,8 @@ impl MapFilterProject {
let (mfp, expr) = Self::extract_from_expression(input);
(mfp.project(outputs.iter().cloned()), expr)
}
// TODO: The recursion is quadratic in the number of Map/Filter/Project operators due to
Copy link
Contributor

Choose a reason for hiding this comment

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

@ggevay ggevay merged commit 69c3786 into MaterializeInc:main Jan 10, 2025
80 checks passed
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