DanielLeens commented on PR #11493:
URL: https://github.com/apache/seatunnel/pull/11493#issuecomment-6594219026

   Pushed the follow-up promised in my last comment. New head: 
`ff53cb15bf52a9f44d7e3c9b6ae0bc35292b12c9` (merge of `dev` @ `3244c9504c7` plus 
one fix commit).
   
   **Dev sync.** The only conflicts were in `incompatible-changes.md` (en/zh): 
#13065 split the page into per-release sections and moved the Engine REST 
metrics entry under 2.3.13. I dropped this branch's stale copy of that entry 
and moved the JSON logical type entry into the `## dev` section, since it is 
not released yet. GitHub now reports the PR as mergeable.
   
   **Fixes in `ff53cb15bf5`:**
   
   - **Snowflake INSERT grammar (F4 / Issue 10).** 
`SnowflakeDialect#getInsertIntoStatement` now generates `INSERT INTO t (id, 
payload) SELECT :id, PARSE_JSON(:payload)` when the schema has a JSON field. 
Schemas without JSON fields still go through the standard `INSERT ... VALUES` 
path unchanged, and the bind order is the same in both forms. The unit 
expectation is updated, a no-JSON test pins the unchanged `VALUES` form, and 
both Snowflake sink docs now show the `SELECT` form for user-defined queries. 
They also say plainly that the custom-query check only looks for `PARSE_JSON` 
somewhere in the query (Issue 9 is still a non-blocking limitation). `UPDATE 
... SET payload = PARSE_JSON(:payload)` is valid Snowflake syntax, so it is 
unchanged.
   - **Qdrant error construction (Issue 3).** The structured 
`CommonErrorCode.UNSUPPORTED_DATA_TYPE` needs `identifier`/`dataType`/`field` 
parameters, so building the exception threw `IllegalArgumentException`. It now 
uses the free-form `CommonErrorCodeDeprecated.UNSUPPORTED_DATA_TYPE`, which 
keeps the migration message. The test now asserts the error code, the message, 
and the `handle_json_as_string` hint.
   - **StarRocks rejection IT (Issue 8).** `testNativeJsonRejectsCsvStreamLoad` 
still requires a non-zero exit. It now asserts the sink-creation diagnostic 
(`StarRocks sink table test.json_csv_rejected has native JSON column(s) 
[payload]`) and the `starrocks.config.format = "JSON"` hint, instead of the 
serializer message that is no longer reached.
   - **Length metadata (Issue 11).** The Doris `JSON`/`JSONB` and StarRocks 
`JSON` mappings dropped the `MAX_STRING_LENGTH` column length that the old 
STRING mapping exposed. That meant `handle_json_as_string` did not restore 
exactly the previous column. Those mappings now keep the length, and the 
original `getColumnLength()` assertions are back unchanged in 
`DorisTypeConvertorV1Test` (json and jsonb), `DorisTypeConvertorV2Test` and 
`StarRocksTypeConverterTest`.
   
   Local checks were limited to spotless on the touched modules. Fork Build 
[41568670242](https://github.com/DanielLeens/seatunnel/actions/runs/41568670242)
 is queued on the new head. I am not claiming any CI result, including the 
LocalFile/Doris round-trip gates (Issues 1/2), until 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