Skip to content

Commit

Permalink
Remove some hacks from byte_array writer (it still not used by default)
Browse files Browse the repository at this point in the history
  • Loading branch information
exyi committed Jan 18, 2025
1 parent d1d9105 commit 48f3c16
Showing 1 changed file with 4 additions and 8 deletions.
12 changes: 4 additions & 8 deletions cli/src/appenders/byte_array.rs
Original file line number Diff line number Diff line change
Expand Up @@ -92,12 +92,9 @@ impl<TPg, FCopyTo: Fn(&TPg, &mut Vec<u8>) -> Option<usize>> ByteArrayColumnAppen
// println!(" RLS: {:?}", self.rls);
// println!(" DLS: {:?}", self.dls);
// }
// let mut byte_array = Vec::new();
// std::mem::swap(&mut self.byte_buffer, &mut byte_array);
let byte_array = unsafe {
// Bytes is leaking memory for some reason
Bytes::from_static(std::mem::transmute::<&[u8], &'static [u8]>(&self.byte_buffer))
};
let mut byte_array = Vec::new();
std::mem::swap(&mut self.byte_buffer, &mut byte_array);
let byte_array = Bytes::from(byte_array);

let mut column: Vec<ByteArray> = vec![ByteArray::new(); self.offsets.len()];
for ((&offset, &next), out) in self.offsets.iter().zip(self.offsets.iter().skip(1)).zip(column.iter_mut()) {
Expand All @@ -111,8 +108,7 @@ impl<TPg, FCopyTo: Fn(&TPg, &mut Vec<u8>) -> Option<usize>> ByteArrayColumnAppen
std::mem::drop(column);

self.offsets.clear();
self.byte_buffer.clear();
// self.byte_buffer.reserve(byte_array.len() / 4);
self.byte_buffer.reserve(byte_array.len());
assert_eq!(0, self.byte_buffer.len());
self.dls.clear();
self.rls.clear();
Expand Down

0 comments on commit 48f3c16

Please sign in to comment.