SEZ9 commented on issue #12814: URL: https://github.com/apache/seatunnel/issues/12814#issuecomment-6245642821
@zhengxiang378928908-code The "Agreed design" section is accepted as the implementation contract for this issue. To restate the boundaries we're locking in: - Carrier (string + `StructField` metadata) only when every container on the path is a `ROW`; any `ARRAY` / `MAP` on the path fails at preflight. - Preflight runs per source table before `MultiTableManager.mergeSchema`, so the error names the real table, full column path (`.element` / `.key` / `.value`), declared precision and Spark's limit of 38, plus the source-side workarounds you listed (drop the column via e.g. `doris.read.field`, cast in the source query, or run on Zeta/Flink). - Carrier text rules apply to both `InternalRowConverter` and `SeaTunnelRowConverter`: plain decimal text only, `null` stays null, lossless `setScale` on write, exact scale/precision check on read, malformed values rejected with the column path. - MySQL source-side clamp stays out of scope and is tracked in #12841. Please go ahead with a focused PR against this contract. Remaining asks for that PR: 1. Unit round trips for both converters plus Spark 2.4 and 3.3 end-to-end runs covering top-level and nested `ROW` cases, mixed schemas (wide and normal decimals side by side), signed 128-bit extrema, 0, NULL, `DECIMAL(50, 10)`, and malformed carrier text. 2. A preflight test asserting the exact error content for `ARRAY` and `MAP` paths, including the table name and column path surviving ahead of the `column0..N` rename. 3. Doris Spark containers stay enabled; EN/ZH docs and the incompatible-changes entry included. 4. Keep #12787 blocked on this PR rather than working around its failures. Link the PR back here when it's up and I'll review against this section. <!-- streview-comment:1844 --> -- 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]
