zmrdltl commented on issue #5410: URL: https://github.com/apache/arrow-rs/issues/5410#issuecomment-1972999442
[related PR](https://github.com/gluesql/gluesql/pull/1269/files/eee922c48bfb5268d8b876bc7edd81c8437dedc6#diff-fb2ac9a7e9456470bda79dc94ad26696681870d09759c4fe33ff5c8f3990b318R206) ```rust ... let value = values[i].clone(); let col_writer = &mut col_writer; match (value, col_writer) { (Value::Null, ColumnWriter::Int32ColumnWriter(ref mut typed)) => { typed.write_batch(&[], Some(&[0]), None).map_storage_err()?; } (Value::Null, ColumnWriter::Int64ColumnWriter(ref mut typed)) => { typed.write_batch(&[], Some(&[0]), None).map_storage_err()?; } (Value::I8(val), ColumnWriter::Int32ColumnWriter(ref mut typed)) => { typed.write_batch(&[val as i32], Some(&[1]), None).map_storage_err()?; } (Value::Date(d), ColumnWriter::Int32ColumnWriter(ref mut typed)) => { ... typed.write_batch(&[days_since_epoch], Some(&[1]), None).map_storage_err()?; } (Value::U8(val), ColumnWriter::Int32ColumnWriter(ref mut typed)) => { typed.write_batch(&[val as i32], Some(&[1]), None).map_storage_err()?; } ... ``` to.. ```rust use parquet::column::writer::{encoder::ColumnValueEncoder, GenericColumnWriter} fn write_null<T, E>(typed: &mut GenericColumnWriter<'_, E>) -> Result<(), Error> where E: ColumnValueEncoder<T>, { typed.write_batch(&[], Some(&[0]), None).map_storage_err() } fn write_column<T, E>( value: Value, col_writer: &mut GenericColumnWriter<'_, E>, ) -> Result<(), Error> where E: ColumnValueEncoder<T>, { match value { Value::Null => write_null(col_writer), _ => write_value(col_writer, value), } } ... let value = values[i].clone(); let col_writer = &mut col_writer; write_column(value, col_writer); ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
