-
Notifications
You must be signed in to change notification settings - Fork 915
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
Refactor Parquet reader handling of V2 page header info #13775
Refactor Parquet reader handling of V2 page header info #13775
Conversation
Pull requests from external contributors require approval from a |
} else { | ||
init_rle(cur, cur + len); | ||
} | ||
init_rle(cur, cur + 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.
Why do we have such big change here? Will this a breaking change?
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.
it's because now I set and test len
in the if
, so len
is guaranteed non-zero and I can get rid of the redundant branching for the len==0
case.
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.
Oh, do we now hit the else branch at 915 instead? I see similar code with the branch that's removed 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, exactly. The original fix from #13707 created a duplicate path to get to 0 bits for the level RLE encoding. This refactor gets rid of the duplicate.
/ok to test |
/ok to test |
/ok to test |
/merge |
Description
This PR replaces the
def_lvl_bytes
andrep_lvl_bytes
fields of thegpu::PageInfo
struct with an array indexed bygpu::level_type
(as is done with thelvl_decode_buf
array). This allows for some streamlining inInitLevelSection()
, removing some redundant code and improving readability.See this comment for context.
Checklist