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]
