junmuz commented on PR #9822:
URL: https://github.com/apache/paimon/pull/9822#issuecomment-6297340698

   Thanks for the suggestions. I have tried addressing the feedback in 
5a998464e5 (also rebased on master)
   
   1. **[P2] Nested fallback shape:** Both the raw and merge readers now read 
the source field with the union of the nested children that it and its metadata 
field need, then trim each fallback value to the requested metadata shape. This 
covers the case where the physical column and the metadata request different 
children. `ChangelogEventMetadataNestedReadTest` covers Parquet/Avro/ORC on the 
raw path and on the merge path via `forceKeepDelete()`.
   
     2. **[P2] Temporal lookup join:** I went with rejecting the plan. A lookup 
only sees the latest table state, so it can't return per-event metadata. 
`DataTableSource.getLookupRuntimeProvider` now fails with a clear error when 
metadata columns are requested, and lookups of physical columns still work. 
Both cases are covered in `LookupChangelogEventMetadataITCase`.
   
     3. **[P2] Duplicate Avro dependency:** Removed.
   
     While testing, I also fixed `incremental-between-scan-mode=diff` reads, 
which failed with `Cannot find field index by FieldId` when metadata fields 
were requested.
     
     
    I have also raised [a different 
PR](https://github.com/apache/paimon/pull/10702) that preserves the field with 
additional configuration option. That's much more simpler, but it comes at the 
expense of breaking CDC contract (which should be ok IMO as long as we clearly 
document it).


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

Reply via email to