discivigour opened a new pull request, #10863: URL: https://github.com/apache/paimon/pull/10863
### Purpose Whole-record DELETE rows currently store nullable payload values that are unnecessary for applying the deletion. Add `delete-row.thin-mode` (default: `false`) to write these fields as null in primary-key data files, including clustering files. Preserve primary-key, sequence, record-level time, clustering, and non-null fields, along with the record's RowKind and sequence number. The physical schema is unchanged, and this option is independent of `data-file.thin-mode`. Changelog files retain their original payloads. Schema validation requires a primary-key table using deduplicate, or partial-update/aggregation with whole-record deletion enabled, and rejects postpone bucket tables (`bucket = -2`). The option is disabled by default because audit-log and delta readers that expose data-file DELETE rows can observe the cleared fields; disabling it later cannot restore values already written as null. ### Tests 35 targeted tests passed on `c3d63e14a3`, with Checkstyle and Spotless enabled: - `DeleteRowFieldsProjectorTest` and `DeleteRowFieldsTest`: default-off behavior, required fields, filtering, compaction, reinsertion, and create/alter/dynamic-option validation. - `SchemaValidationTest#testDeleteRowThinMode*`: supported and unsupported table configurations. - `KeyValueFileReadWriteTest#testDeleteRowFieldsProjection+testDeleteRowFieldsProjectionInClusteringFile`: Avro/ORC/Parquet, both data-file thin-mode settings, clustering fields, and unchanged changelog payloads. - `PrimaryKeySortedIndexReadTest` and `PrimaryKeyBlobFileWriterTest`: indexed reads with deletion vectors and blob writer regressions. -- 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]
