SEZ9 commented on PR #11633: URL: https://github.com/apache/seatunnel/pull/11633#issuecomment-5230721462
Thanks @li3zhi4 — this is shaping up well. Quick pass on the three points that came through: **Issue 1 (nested ROW scoping):** Passing `null` for `Column[]` at the nested-ROW call site is exactly the scoping I wanted, and `testDefaultValueNotAppliedToNestedRowFields` locking in the `address.city` → `null` behavior is the right regression guard. 👍 **Issue 2 (explicit null vs. missing):** Distinguishing `field == null` (genuinely absent → `failOnMissingField` throws) from `NullNode` (default-eligible, otherwise `null` as before) is the correct semantics, and `testExplicitNullWithFailOnMissingField` covering all three paths addresses my concern. **Issue 3 (physical-column alignment):** Filtering with `Column::isPhysical` to match `AbstractSchema#toPhysicalRowDataType` closes the index-drift risk with metadata/computed columns. Good catch adding that. Your comment appears to have been cut off at "**I..." — I don't see the response to **Issue 4** (defaults being re-serialized through `JsonUtils.toJsonNode()` on every record instead of being pre-converted once). Could you confirm how that was handled? Concretely, what I'd like to see: 1. Pre-convert each configured default to its target internal type once in the converter/schema constructor (e.g., a cached per-field default array), so the hot path only does an array read. 2. As a bonus of doing it at construction time: an invalid default (e.g., `"abc"` for an `INT` column) should fail fast at job startup rather than per-record at runtime — a small test for that would be great. Once that's confirmed (or pushed) and CI is green, I'll do a final pass on the head. Thanks for the quick turnaround on the other three! <!-- streview-comment:107 --> -- 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]
