-
Notifications
You must be signed in to change notification settings - Fork 13
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 Integer RLE V2 handling #50
Conversation
num_literals: usize, | ||
used: usize, | ||
skip_corrupt: bool, | ||
literals: VecDeque<i64>, |
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.
VecDeque provides same functionality, without us needing to fiddle with the indices/len ourselves
|
||
impl<R: Read> RleReaderV2<R> { | ||
pub fn new(reader: R, signed: bool, skip_corrupt: bool) -> Self { | ||
pub fn new(reader: R, signed: bool) -> Self { |
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.
I don't think we should provide functionality for skipping corrupt streams:
- If this integer stream is corrupt, and since columns are made of multiple streams, chances are the expected output will also be corrupt as stream lengths won't match
pub fn read_values(&mut self) -> Result<bool> { | ||
let header = match try_read_u8(&mut self.reader)? { | ||
Some(byte) => byte, | ||
None => return Ok(false), | ||
}; |
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.
Removed the ignore_eof logic, as have similar thoughts to the removal of skip corrupt
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.
Well done👍
Implement serialization / deserialization via bytecode
* Refactor Integer RLE V2 handling * Fix * Trigger
No description provided.