(read_fields: &[DataField])
| 111 | } |
| 112 | |
| 113 | fn validate_read_fields(read_fields: &[DataField]) -> crate::Result<()> { |
| 114 | if read_fields.len() > 1 { |
| 115 | return Err(Error::DataInvalid { |
| 116 | message: format!( |
| 117 | ".blob format only supports reading at most one projected column, got {}", |
| 118 | read_fields.len() |
| 119 | ), |
| 120 | source: None, |
| 121 | }); |
| 122 | } |
| 123 | |
| 124 | if let Some(field) = read_fields.first() { |
| 125 | match field.data_type() { |
| 126 | DataType::Blob(_) => Ok(()), |
| 127 | other => Err(Error::DataInvalid { |
| 128 | message: format!( |
| 129 | ".blob format requires a Blob field, got {:?} for column '{}'", |
| 130 | other, |
| 131 | field.name() |
| 132 | ), |
| 133 | source: None, |
| 134 | }), |
| 135 | }?; |
| 136 | } |
| 137 | |
| 138 | Ok(()) |
| 139 | } |
| 140 | |
| 141 | fn build_descriptor_batch( |
| 142 | blob_index: &BlobFileIndex, |
no test coverage detected