Skip to content

Commit 2c1252c

Browse files
author
Rickard Lundin
committed
compiles
1 parent f5d967a commit 2c1252c

3 files changed

Lines changed: 20 additions & 9 deletions

File tree

src/chunked/arrow_converter.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,8 @@ struct HandlerInt32Builder {
239239
int32builder: Int32Builder,
240240
runes_in_column: usize,
241241
name: String,
242-
trimmer: Box<dyn ColumnTrimmer>,
242+
trimmer: Box<dyn ColumnTrimmer + Send + Sync>,
243+
243244
}
244245

245246
impl ColumnBuilder for HandlerInt32Builder {
@@ -273,7 +274,8 @@ struct HandlerInt64Builder {
273274
int64builder: Int64Builder,
274275
runes_in_column: usize,
275276
name: String,
276-
trimmer: Box<dyn ColumnTrimmer>,
277+
trimmer: Box<dyn ColumnTrimmer + Send + Sync>,
278+
277279
}
278280
impl ColumnBuilder for HandlerInt64Builder {
279281
fn parse_value(&mut self, data: &[u8]) -> usize
@@ -308,7 +310,7 @@ struct HandlerStringBuilder {
308310
string_builder: StringBuilder,
309311
runes_in_column: usize,
310312
name: String,
311-
trimmer: Box<dyn ColumnTrimmer>,
313+
trimmer: Box<dyn ColumnTrimmer + Send + Sync>,
312314
}
313315
impl ColumnBuilder for HandlerStringBuilder {
314316
fn parse_value(&mut self, data: &[u8]) -> usize

src/chunked/mod.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,6 @@
2828
use arrow::array::ArrayRef;
2929
use parquet::format;
3030

31-
use crate::parser;
32-
use padder::Symbol;
33-
use std::cmp::min;
3431
use std::fs;
3532

3633
use self::residual_slicer::SLICER_IN_CHUNK_SIZE;

src/trimmer.rs

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,19 @@
2525
// Last updated: 2024-05-15
2626
//
2727

28-
use crate::datatype::DataType;
29-
use padder::{Alignment, Symbol};
3028
use std::cmp::min;
3129

30+
use padder::{Alignment, Symbol};
31+
32+
use crate::datatype::DataType;
33+
3234
pub(crate) trait ColumnTrimmer {
3335
fn find_start_stop(&self, data: &[u8], runes: i16) -> (usize, usize);
3436
// TODO @Willhelm perhaps add trim function here ?
3537
}
3638

39+
40+
3741
pub(crate) fn count_rune_bytelength(data: &[u8], runes: i16) -> usize {
3842
let mut eat = data.iter();
3943
let mut counted_runes = 0;
@@ -71,6 +75,7 @@ pub(crate) fn count_rune_bytelength(data: &[u8], runes: i16) -> usize {
7175
}
7276

7377
pub(crate) struct UtfNotAligned {}
78+
7479
impl ColumnTrimmer for UtfNotAligned {
7580
fn find_start_stop(&self, data: &[u8], runes: i16) -> (usize, usize) {
7681
(0, count_rune_bytelength(data, runes) - 1)
@@ -80,6 +85,7 @@ impl ColumnTrimmer for UtfNotAligned {
8085
pub(crate) struct FloatLeftAligned {
8186
trim_symbol: Symbol,
8287
}
88+
8389
impl ColumnTrimmer for crate::trimmer::FloatLeftAligned {
8490
fn find_start_stop(&self, data: &[u8], runes: i16) -> (usize, usize) {
8591
let mut eat = data.iter();
@@ -113,6 +119,7 @@ impl ColumnTrimmer for crate::trimmer::FloatLeftAligned {
113119
pub(crate) struct FloatRightAligned {
114120
trim_symbol: Symbol,
115121
}
122+
116123
impl ColumnTrimmer for FloatRightAligned {
117124
fn find_start_stop(&self, data: &[u8], runes: i16) -> (usize, usize) {
118125
let mut eat = data.iter();
@@ -141,9 +148,11 @@ impl ColumnTrimmer for FloatRightAligned {
141148
(start, stop)
142149
}
143150
}
151+
144152
pub(crate) struct CharLeftAligned {
145153
trim_symbol: Symbol,
146154
}
155+
147156
impl ColumnTrimmer for crate::trimmer::CharLeftAligned {
148157
fn find_start_stop(&self, data: &[u8], runes: i16) -> (usize, usize) {
149158
let mut eat = data.iter();
@@ -179,6 +188,7 @@ impl ColumnTrimmer for crate::trimmer::CharLeftAligned {
179188
pub(crate) struct CharRightAligned {
180189
trim_symbol: Symbol,
181190
}
191+
182192
impl ColumnTrimmer for CharRightAligned {
183193
fn find_start_stop(&self, data: &[u8], runes: i16) -> (usize, usize) {
184194
let mut eat = data.iter();
@@ -211,6 +221,7 @@ impl ColumnTrimmer for CharRightAligned {
211221
pub(crate) struct NumLeftAligned {
212222
trim_symbol: Symbol,
213223
}
224+
214225
impl ColumnTrimmer for crate::trimmer::NumLeftAligned {
215226
fn find_start_stop(&self, data: &[u8], runes: i16) -> (usize, usize) {
216227
let mut eat = data.iter();
@@ -243,6 +254,7 @@ impl ColumnTrimmer for crate::trimmer::NumLeftAligned {
243254
pub(crate) struct NumRightAligned {
244255
trim_symbol: Symbol,
245256
}
257+
246258
impl ColumnTrimmer for NumRightAligned {
247259
fn find_start_stop(&self, data: &[u8], runes: i16) -> (usize, usize) {
248260
let mut eat = data.iter();
@@ -276,7 +288,7 @@ pub(crate) fn trimmer_factory(
276288
dtype: DataType,
277289
alignment: Alignment,
278290
trim_symbol: Symbol,
279-
) -> Box<dyn ColumnTrimmer> {
291+
) -> Box<dyn ColumnTrimmer + Send +Sync> {
280292
match (dtype, alignment) {
281293
(DataType::Boolean, padder::Alignment::Left) => {
282294
Box::new(crate::trimmer::CharLeftAligned { trim_symbol })

0 commit comments

Comments
 (0)