lszskye opened a new pull request, #248:
URL: https://github.com/apache/paimon-cpp/pull/248

   ### Purpose
   
   Linked issue: #174 
   
   Support `input` and `lookup` changelog producers for primary-key tables.
   
   This change:
   
   - Writes raw input changelog records into changelog files while write 
process.
   - Rolls input changelog files by target file size, consistently with Java 
Paimon.
   - Produces lookup changelogs during compaction by comparing level-0 records 
with existing records.
   - Supports lookup changelog with:
     - several merge engines;
     - deletion vectors enabled;
     - `ignore_previous_files`;
     - row deduplication and ignored comparison fields;
     - schema evolution and external data paths.
   - Persists keys in first-row lookup SST files so excluded higher-level 
records can be detected.
   - Supports shared shredding when writing input and compaction changelog 
files.
   - Supports configurable changelog file prefix, format, and compression.
   - Reads changelog manifests during streaming scans.
   - Excludes level-0 files from the initial full scan for lookup changelog 
tables to avoid duplicate emission.
   - Adds order-independent equality comparison for MAP values.
   - Keeps `full-compaction` changelog producer unsupported.
   
   ### Tests
   Added and updated unit and integration coverage for:
     - input and lookup changelog stream reads;
     - insert, update, and delete changelogs;
     - first-row and deletion-vector lookup;
     - row deduplication and ignored fields;
     - schema evolution and external paths;
     - configurable changelog format, compression, and prefix;
     - shared-shredding changelog files;
     - nested row and order-independent MAP equality;
     - changelog manifest scanning.
   
   ### API and Format
   This change adds public option constants for:
   - `changelog-producer.row-deduplicate`
   - `changelog-producer.row-deduplicate-ignore-fields`
   - `changelog-file.prefix`
   - `changelog-file.format`
   - `changelog-file.compression`


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