luozihen commented on PR #12015:
URL: https://github.com/apache/seatunnel/pull/12015#issuecomment-5755023969

   @SEZ9 Thanks — to stop the truncation we keep hitting, I have consolidated 
every open item into the
   "Review status (F1-F8)" section of the PR description, with the file and 
test name for each.
   Could you use that section as the source of truth for the next pass? 
One-line index below, in case
   it helps:
   
   - F1 — `ReadonlyConfig#toConfig()` is unchanged 
(`ConfigFactory.parseMap(confData)`,
     `ReadonlyConfig.java:76`) and `ReadonlyConfig.java` is not in the PR diff 
at all; the parsing fix
     is scoped to `ConfigShadeUtils.processConfig` and 
`MultiTableFailureHelper#mergeOptions`.
   - F2 / F5 — explicit `LinkedHashMap<Pattern, List<String>>` in 
`toCompiledPatternMap`, so the order
     is guaranteed by construction, plus
     
`JdbcSinkFactoryTest#testResolveMultiTablePrimaryKeysFromHoconFirstMatchWins`, 
which uses a real
     HOCON string with non-alphabetical overlapping patterns; both docs state 
the same rule.
   - F3 — `validatePrimaryKeyColumns` rejects blank names and commas with 
`JDBC-12`, and the resolved
     names are quoted through the dialect when SQL is generated, so those two 
are the only inputs that
     cannot be represented safely.
   - F4 — the order is documented in
     `docs/{en,zh}/introduction/configuration/sink-options-placeholders.md` and 
pinned by
     `JdbcSinkFactoryTest#testPlaceholderOrderBetweenEngineAndConnectorPasses`.
   - F6 — patterns are compiled once up front (`compilePattern` + bounded 
cache) and an invalid
     pattern raises `JDBC-12` with the offending pattern in the message; three 
tests cover it.
   - F7 — the `toConfig()` half is not open: the regression test already exists 
in this PR's diff
     (`ReadableConfigTest#testToConfigPreservesDottedKeyExpansion`, 
`seatunnel-api` line 383). The E2E
     half is now updated exactly as you asked in `2656c4b6a`: two dedicated 
source tables
     (`source.mtc_table1` / `source.mtc_table2`) whose key columns are `NOT 
NULL`, the `.conf` pointed
     at them, and the shared `source.table1` / `source.table2` left untouched.
   - F8 — confirmed: `multi_table_config` is used consistently in 
`JdbcSinkOptions`, both docs, the E2E
     config and all tests.
   
   The MySQL/OceanBase DDL gap is not fixed here, as you suggested. I will open 
a separate issue for it
   (emit `NOT NULL` for key columns plus a unit test in 
`MysqlCreateTableSqlBuilderTest`) and link it
   here once it is created, then follow up with a PR.
   
   `jdbc-connectors-it-part-1` on `2656c4b6a` is the check to watch; I will 
paste the link here once it
   finishes.
   


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

Reply via email to