hutiefang76 opened a new pull request, #12508: URL: https://github.com/apache/seatunnel/pull/12508
### Purpose of this pull request Fixes #12507. DuckDB JDBC Source currently reads unsigned maxima (255, 65535, 4294967295, 18446744073709551615) as -1 because it maps each unsigned type to a signed type of the same width. The JDBC driver returns the values correctly. Widen UTINYINT to SMALLINT, USMALLINT to INT, UINTEGER to BIGINT, and UBIGINT to DECIMAL(20,0), matching the documented source mapping and the existing MySQL unsigned conversion pattern. Signed integer mappings are unchanged. ### Does this PR introduce _any_ user-facing change? Yes. Automatically inferred unsigned columns now preserve the full range, and schemas/tables generated from those columns use wider types. The English/Chinese source documentation and incompatible-changes guide explain the change and the need to review downstream schemas/transforms. There are no new options or dependencies. ### How was this patch tested? Added a regression to DuckDBSourceAndSinkTest using the actual JdbcSourceFactory/JdbcSinkFactory and DuckDB JDBC 1.3.1. It covers the four unsigned maxima, values just above each signed maximum, zero and null; writes to both a precreated unsigned table and a table generated by DuckDBCatalog; and reads both back through new Source connections. The regression failed on the old code with the maximum-value row missing, then passed after the conversion fix. JDK 8 and JDK 17 each passed connector-jdbc verify with DuckDBSourceAndSinkTest, DuckDBCatalogTest and DuckDBDialectTest: 17 tests, zero failures/errors/skips. Spotless and git diff --check passed. ```sh mvn -o -pl seatunnel-connectors-v2/connector-jdbc verify -Dtest=DuckDBSourceAndSinkTest,DuckDBCatalogTest,DuckDBDialectTest ``` This is local connector validation; upstream CI is separate. ### Check list * [x] English and Chinese documentation updated. * [x] incompatible-changes.md updated for wider inferred schemas. * [x] Existing Source/Sink regression extended. * No new connector, binary, dependency, plugin mapping or distribution entry is needed. -- 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]
