@@ -39,6 +39,7 @@ use parquet::format;
3939use rayon:: iter:: IndexedParallelIterator ;
4040use rayon:: prelude:: * ;
4141
42+ use crate :: datatype:: DataType ;
4243use crate :: converters:: { ColumnBuilder , Converter } ;
4344use crate :: slicers:: { FnFindLastLineBreak , FnLineBreakLen } ;
4445use crate :: { converters, schema} ;
@@ -92,31 +93,38 @@ impl MasterBuilders {
9293 for _i in 1 ..=instances {
9394 let mut buildersmut: Vec < Box < dyn ColumnBuilder + Sync + Send > > =
9495 Vec :: with_capacity ( antal_col) ;
95- for val in schema. iter ( ) {
96- match val. dtype ( ) . as_str ( ) {
97- "i32" => buildersmut. push ( Box :: new ( HandlerInt32Builder {
96+ for col in schema. iter ( ) {
97+ match col. dtype ( ) {
98+ DataType :: Boolean => buildersmut. push ( Box :: new ( HandlerBooleanBuilder {
99+ boolean_builder : BooleanBuilder :: new ( ) ,
100+ runes_in_column : col. length ( ) ,
101+ name : col. name ( ) . clone ( ) ,
102+ } ) ) ,
103+ DataType :: Float16 => todo ! ( ) ,
104+ DataType :: Float32 => todo ! ( ) ,
105+ DataType :: Float64 => todo ! ( ) ,
106+ DataType :: Int16 => todo ! ( ) ,
107+ DataType :: Int32 => buildersmut. push ( Box :: new ( HandlerInt32Builder {
98108 int32builder : Int32Builder :: new ( ) ,
99- runes_in_column : val . length ( ) ,
100- name : val . name ( ) . clone ( ) ,
109+ runes_in_column : col . length ( ) ,
110+ name : col . name ( ) . clone ( ) ,
101111 } ) ) ,
102- "i64" => buildersmut. push ( Box :: new ( HandlerInt64Builder {
112+ DataType :: Int64 => buildersmut. push ( Box :: new ( HandlerInt64Builder {
103113 int64builder : Int64Builder :: new ( ) ,
104- runes_in_column : val . length ( ) ,
105- name : val . name ( ) . clone ( ) ,
114+ runes_in_column : col . length ( ) ,
115+ name : col . name ( ) . clone ( ) ,
106116 } ) ) ,
107- "boolean" => buildersmut. push ( Box :: new ( HandlerBooleanBuilder {
108- boolean_builder : BooleanBuilder :: new ( ) ,
109- runes_in_column : val . length ( ) ,
110- name : val . name ( ) . clone ( ) ,
117+ DataType :: Utf8 => buildersmut. push ( Box :: new ( HandlerStringBuilder {
118+ string_builder : StringBuilder :: new ( ) ,
119+ runes_in_column : col . length ( ) ,
120+ name : col . name ( ) . clone ( ) ,
111121 } ) ) ,
112- "utf8" => buildersmut. push ( Box :: new ( HandlerStringBuilder {
122+ DataType :: LargeUtf8 => buildersmut. push ( Box :: new ( HandlerStringBuilder {
113123 string_builder : StringBuilder :: new ( ) ,
114- runes_in_column : val . length ( ) ,
115- name : val . name ( ) . clone ( ) ,
124+ runes_in_column : col . length ( ) ,
125+ name : col . name ( ) . clone ( ) ,
116126 } ) ) ,
117-
118- & _ => { }
119- } ;
127+ }
120128 }
121129 builders. push ( buildersmut) ;
122130 }
0 commit comments