prakharjain09 opened a new issue, #2518:
URL: https://github.com/apache/iceberg-rust/issues/2518

   ### Is your feature request related to a problem or challenge?
   
     `FileScanTask.name_mapping` is always set to `None` during scan planning,
     even when the table sets the `schema.name-mapping.default` property. This
     leaves a TODO in the code:
   
     
https://github.com/apache/iceberg-rust/blob/main/crates/iceberg/src/scan/cont
     ext.rs#L140
   
     ```rust
     // TODO: Extract name_mapping from table metadata property
     "schema.name-mapping.default"
     name_mapping: None,
   
     Impact
   
     Readers rely on the name mapping to resolve field IDs for Parquet files 
that
     either lack field IDs or have conflicting ones — the existing
     record-batch-transformer and projection code already handles
     Some(NameMapping) correctly, but the value never reaches it from the 
planner.
      As a result, **scans of tables that depend on schema.name-mapping.default
     (e.g. tables migrated from Hive, files written without Iceberg field-ID
     metadata) silently fall back to position-based ID assignment**.
   
   ### Describe the solution you'd like
   
     Parse the schema.name-mapping.default property once in
     TableScanBuilder::build, store the resulting Arc<NameMapping> on 
PlanContext,
      and thread it through ManifestFileContext and ManifestEntryContext so it
     lands on FileScanTask. Malformed JSON should surface as
     ErrorKind::DataInvalid from build() rather than being silently dropped.
   
   ### Willingness to contribute
   
   I would be willing to contribute to this feature with guidance from the 
Iceberg Rust community


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