-
Notifications
You must be signed in to change notification settings - Fork 526
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
feat(optimizer): col prune for hop #2030
Conversation
Codecov Report
@@ Coverage Diff @@
## main #2030 +/- ##
==========================================
+ Coverage 70.65% 70.84% +0.18%
==========================================
Files 629 629
Lines 80987 81035 +48
==========================================
+ Hits 57223 57408 +185
+ Misses 23764 23627 -137
Flags with carried forward coverage won't be shown. Click here to find out more.
📣 Codecov can now indicate which changes are the most critical in Pull Requests. Learn more |
} | ||
|
||
pub fn i2o_col_mapping(&self) -> ColIndexMapping { | ||
ColIndexMapping::identity_or_none(self.input.schema().len(), self.schema().len()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
identity
is enough here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, and the added window_start
and window_end
have not mapping to the input columns.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So why identity_or_none instead of identity?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in fact, I think the identity_or_none
actually means identity_with_target_size
, which means it will be identity for intersection of [0..source_size] and [0..target_size], and there will be no mapping for others
proj_map.put(new_hop.schema().len() - 2, None); | ||
LogicalProject::with_mapping(new_hop.into(), proj_map) | ||
} | ||
(false, false) => unreachable!(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMO it's a valid SQL that user use HOP but don't really use window_start
and window_end
PTAL @TennyZhuang |
What's changed and what's your intention?
Checklist
Refer to a related PR or issue link (optional)