JingsongLi opened a new pull request, #10650: URL: https://github.com/apache/paimon/pull/10650
### Purpose Allow tables containing plain `VARIANT` values to use the ROW file format, including the main, per-level, and changelog format settings. ROW already stores the Variant value and metadata buffers, but schema validation previously required Parquet. Handle Variant extraction projections in `NestedProjectedRow` so projected reads of ROW tables do not fail by casting a Variant type to a nested row type. Reuse the existing extraction and cast semantics for nested paths, missing values, SQL/Variant nulls, strict casts, buffer-backed values, and time zones. Verify the existing Python ROW implementation with append-only, primary-key, and Data Evolution table roundtrips, and document the supported formats. The ROW v1 file layout is unchanged; Variant shredding continues to require Parquet. ### Tests - `mvn -pl paimon-core -am -DwildcardSuites=none '-Dtest=NestedProjectedRowTest,RowFormatReadWriteTest,SchemaValidationTest#testVariantTypeValidation,AppendOnlySimpleTableTest#testRowFormatVariantReadWrite' -DfailIfNoTests=false test` — 56 tests passed, including the normal Maven validation checks. - `PYTHONPATH=paimon-python python3 -m pytest paimon-python/pypaimon/tests/test_format_row_reader_writer.py paimon-python/pypaimon/tests/test_format_row_table.py -q` — 43 tests passed. -- 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]
