Skip to content

Commit

Permalink
fix: replace null with default in record builder
Browse files Browse the repository at this point in the history
  • Loading branch information
crwen committed Feb 14, 2025
1 parent 1d0c7ba commit 7ef4f14
Showing 1 changed file with 13 additions and 11 deletions.
24 changes: 13 additions & 11 deletions src/record/runtime/array.rs
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ impl Builder<DynRecordImmutableArrays> for DynRecordBuilder {
let value = col.value.as_ref().downcast_ref::<Option<u8>>().unwrap();
match value {
Some(value) => bd.append_value(*value),
None => bd.append_null(),
None => bd.append_value(Default::default()),
}
}
DataType::UInt16 => {
Expand All @@ -237,7 +237,7 @@ impl Builder<DynRecordImmutableArrays> for DynRecordBuilder {
let value = col.value.as_ref().downcast_ref::<Option<u16>>().unwrap();
match value {
Some(value) => bd.append_value(*value),
None => bd.append_null(),
None => bd.append_value(Default::default()),
}
}
DataType::UInt32 => {
Expand All @@ -247,7 +247,7 @@ impl Builder<DynRecordImmutableArrays> for DynRecordBuilder {
let value = col.value.as_ref().downcast_ref::<Option<u32>>().unwrap();
match value {
Some(value) => bd.append_value(*value),
None => bd.append_null(),
None => bd.append_value(Default::default()),
}
}
DataType::UInt64 => {
Expand All @@ -257,7 +257,7 @@ impl Builder<DynRecordImmutableArrays> for DynRecordBuilder {
let value = col.value.as_ref().downcast_ref::<Option<u64>>().unwrap();
match value {
Some(value) => bd.append_value(*value),
None => bd.append_null(),
None => bd.append_value(Default::default()),
}
}
DataType::Int8 => {
Expand All @@ -267,7 +267,7 @@ impl Builder<DynRecordImmutableArrays> for DynRecordBuilder {
let value = col.value.as_ref().downcast_ref::<Option<i8>>().unwrap();
match value {
Some(value) => bd.append_value(*value),
None => bd.append_null(),
None => bd.append_value(Default::default()),
}
}
DataType::Int16 => {
Expand All @@ -277,7 +277,7 @@ impl Builder<DynRecordImmutableArrays> for DynRecordBuilder {
let value = col.value.as_ref().downcast_ref::<Option<i16>>().unwrap();
match value {
Some(value) => bd.append_value(*value),
None => bd.append_null(),
None => bd.append_value(Default::default()),
}
}
DataType::Int32 => {
Expand All @@ -287,7 +287,7 @@ impl Builder<DynRecordImmutableArrays> for DynRecordBuilder {
let value = col.value.as_ref().downcast_ref::<Option<i32>>().unwrap();
match value {
Some(value) => bd.append_value(*value),
None => bd.append_null(),
None => bd.append_value(Default::default()),
}
}
DataType::Int64 => {
Expand All @@ -297,7 +297,7 @@ impl Builder<DynRecordImmutableArrays> for DynRecordBuilder {
let value = col.value.as_ref().downcast_ref::<Option<i64>>().unwrap();
match value {
Some(value) => bd.append_value(*value),
None => bd.append_null(),
None => bd.append_value(Default::default()),
}
}
DataType::String => {
Expand All @@ -306,15 +306,15 @@ impl Builder<DynRecordImmutableArrays> for DynRecordBuilder {
col.value.as_ref().downcast_ref::<Option<String>>().unwrap();
match value {
Some(value) => bd.append_value(value),
None => bd.append_null(),
None => bd.append_value(""),
}
}
DataType::Boolean => {
let bd = Self::as_builder_mut::<BooleanBuilder>(builder.as_mut());
let value = col.value.as_ref().downcast_ref::<Option<bool>>().unwrap();
match value {
Some(value) => bd.append_value(*value),
None => bd.append_null(),
None => bd.append_value(Default::default()),
}
}
DataType::Bytes => {
Expand All @@ -327,7 +327,7 @@ impl Builder<DynRecordImmutableArrays> for DynRecordBuilder {
.unwrap();
match value {
Some(value) => bd.append_value(value),
None => bd.append_null(),
None => bd.append_value(vec![]),
}
}
}
Expand Down Expand Up @@ -575,6 +575,7 @@ impl Builder<DynRecordImmutableArrays> for DynRecordBuilder {
value: value.clone(),
is_nullable,
});
dbg!(value.clone());
array_refs.push(value);
}
DataType::Boolean => {
Expand Down Expand Up @@ -604,6 +605,7 @@ impl Builder<DynRecordImmutableArrays> for DynRecordBuilder {
};
}

dbg!(self.schema.clone());
let mut record_batch =
arrow::record_batch::RecordBatch::try_new(self.schema.clone(), array_refs)
.expect("create record batch must be successful");
Expand Down

0 comments on commit 7ef4f14

Please sign in to comment.