dannycjones commented on issue #3258:
URL: https://github.com/apache/iceberg-rust/issues/3258#issuecomment-5774891890

   Yeah, pretty much.
   
   For example in `FileScanTask::process`:
   
   ```rust
   impl FileScanTaskReader {
       async fn process(self, task: FileScanTask) -> 
Result<ArrowRecordBatchStream> {
           // Reject columns whose types this library cannot read.
           // This duplicates a check in the table scanner, deliberately: a 
reader can be
           // constructed independently of a scan (such as when reconstructing 
scan tasks in
           // another process), so the scan-time check alone is not 
load-bearing.
           reject_unsupported_column_projections(task.schema(), 
task.project_field_ids())?;
           if let Some(predicate) = task.predicate() {
               reject_unsupported_column_predicates(predicate)?;
           }
   
           let should_load_page_index = (self.row_selection_enabled && 
task.predicate().is_some())
               || !task.deletes().is_empty();
           let mut parquet_read_options = self.parquet_read_options;
           parquet_read_options.preload_page_index = should_load_page_index;
           // ...
   ```
   
   Ultimately returning an error like...
   
   ```rust
   Error::new(
       ErrorKind::FeatureUnsupported,
       format!("Unsupported column types on read: my_geo_col: geometry is not 
supported"),
   ))
   ```


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to