Gabriel39 opened a new pull request, #68786:
URL: https://github.com/apache/doris/pull/68786

   ### What problem does this PR solve?
   
   Related PR: #68532
   
   Supersedes the closed master port #68603.
   
   Port the merged branch-4.1 change to master. External binary columns retain 
VARBINARY, and instant-bearing timestamp columns retain TIMESTAMPTZ instead of 
silently becoming text or local wall-clock values. This includes SQL/view 
handling, JDBC read/write normalization, Iceberg partition transforms and 
commit metadata, and matching regression coverage.
   
   Master uses connector plugins and JDBC type handlers. The port applies the 
mapping changes to those implementations while retaining master's typed 
predicate pushdown, write planning, Paimon connector writer, and UUID support. 
Legacy branch-4.1 Paimon writer classes and deleted write suites are not 
restored.
   
   The latest master refresh preserves catalog-property validation outside the 
catalog write lock, normalizes the durable mapping markers, and moves binary 
static-partition encoding into the shared insert context. Iceberg consumes the 
engine's separate SQL NULL markers for both commit validation and BE 
serialization. The new NULL-key Thrift field uses ID 20, preserving master's 
NaN-count field at ID 19.
   
   ### Release note
   
   External binary and instant timestamp mappings are enabled regardless of the 
deprecated catalog toggles. Ordinary views can preserve VARBINARY; native 
materialization restrictions remain. File TVF binary mapping remains explicit, 
while annotated instant timestamps map to TIMESTAMPTZ.
   
   Legacy catalog markers are migrated through ordinary ALTER journal records. 
This changes persisted metadata; rolling back FE binaries alone does not 
restore the old mapping properties. External files are not rewritten. 
Mixed-version compatibility limitations described in #68532 still apply.
   
   ### Validation
   
   Latest refresh against master `f0b7c35dcc73525692cf3608bec14e5926a7ef56`:
   
   - 66 targeted FE/connector tests passed: catalog migration/properties, type 
coercion, binary partition literals, Paimon type mapping, and Iceberg 
static-partition sinks.
   - Reproduced the missing binary encoding and dropped NULL-key marker with 
failing tests before applying the adaptations; both now pass.
   - Full FE reactor Checkstyle passed. clang-format 16 passed for all 16 
affected C/C++ files; BE header hygiene passed.
   - Paimon connector package build passed.
   - A fresh full BE build and external service-backed regression execution 
remain pending CI.
   
   Earlier port validation, before the latest master refresh: 54 targeted FE 
core tests, 78 targeted BE ASAN tests, connector/JNI suites, full BE build, and 
parsing of 46 changed Groovy suites passed. These earlier results are not a 
fresh validation of the master refresh. The original broader Iceberg run had a 
baseline empty-snapshot expectation failure; clang-tidy was blocked by 
baseline/toolchain diagnostics.
   
   ### Check List (For Author)
   
   - [x] Unit tests and regression coverage ported.
   - [x] Behavior and persisted-metadata changes described above.
   - [x] External integration execution remains pending CI.
   
   ### Check List (For Reviewer who merge this PR)
   
   - [ ] Confirm the release note.
   - [ ] Confirm test cases.
   - [ ] Confirm document.
   - [ ] Add branch pick label if needed.
   


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