hutiefang76 opened a new pull request, #12880: URL: https://github.com/apache/seatunnel/pull/12880
### Purpose of this pull request Yes, I am contributing to Apache SeaTunnel. Fixes #12878. The generic JDBC type converter currently logs an unsupported SQL type and returns a column whose SeaTunnel type is null. Report it through the existing conversion-error contract instead, so query schema discovery can aggregate the unsupported column names and the native types reported by the driver. Supported mappings remain unchanged. The metadata query path populates `BasicTypeDefine.dataType`, rather than `nativeType`; using that populated value keeps the driver type name in the error. The table-metadata path also fails with the existing typed conversion error; this PR does not change its pre-existing first-error behavior. ### Does this PR introduce _any_ user-facing change? Yes. A Generic-dialect source with an unsupported column now fails schema discovery with a useful column/type diagnostic instead of accepting an invalid schema. English and Chinese JDBC source troubleshooting docs describe the error and the supported-query-cast/vendor-dialect options. There is no new type support, public API, option, default or data-format change. The timestamp and JSON type-support work in #11485/#11493 is outside this change. ### How was this patch tested? Java 17; standard build configuration and existing dependencies. - Original converter with the new existing-class regression: `CatalogUtilsTest` 18 tests, 1 failure (expected error was not thrown), 0 errors/skips. - Fixed converter: all 18 `CatalogUtilsTest` cases pass, including supported INTEGER/VARCHAR controls. - Existing PostgreSQL IT extended with actual metadata for a `tsvector` expression and a supported-column control. `JdbcPostgresIT#testGenericTypeMappingReportsUnsupportedColumnType` passes: 1 test, 0 failures/errors/skips, against the fixture's real PostgreSQL 18 container. The test explicitly uses `GenericTypeMapper`; it does not claim PostgreSQL normally selects the generic dialect. - Full JDBC reactor `./mvnw -B -pl seatunnel-connectors-v2/connector-jdbc -am package`: 1,155 JDBC tests, 1 failure, 0 errors, 6 existing conditional skips. The sole failure is the unchanged `JdbcOptionRuleCompletenessTest` baseline false positive, separately fixed by #12875. That test change is not included here, and the full JDBC suite is **not** claimed green. - Root `./mvnw -B spotless:apply` and `./mvnw -q -DskipTests verify` pass. The root verify command skips tests. Actual existing-IT command: ```shell ./mvnw -B -pl seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/connector-jdbc-e2e-part-3 -am -DskipUT=true -DskipIT=false -Dit.test=JdbcPostgresIT#testGenericTypeMappingReportsUnsupportedColumnType -Dfailsafe.failIfNoSpecifiedTests=false -DfailIfNoTests=false verify ``` Independent first-pass review passed. DeepSeek assisted implementation and review; Codex ran and checked the reproduction, build, database test and final diff. Remote CI and maintainer review remain pending. ### Check list - No new JARs, dependencies or connectors. - Paired EN/ZH docs and the existing JDBC PostgreSQL IT are updated. - Existing supported mappings, APIs and configuration remain compatible. -- 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]
