JacobZheng0927 opened a new pull request, #11892:
URL: https://github.com/apache/seatunnel/pull/11892

   ### Purpose of this pull request
   
   PostgreSQL `json`, `jsonb`, and `uuid` columns can be represented as 
SeaTunnel strings. Binding those values with `setString` makes the driver infer 
a varchar parameter, which can fail for prepared statements where PostgreSQL 
cannot infer the intended native type.
   
   This patch binds these source types as typed `PGobject` values so the 
PostgreSQL JDBC driver receives the correct `json`, `jsonb`, or `uuid` 
parameter type.
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes, as a bug fix. JDBC sink writes to PostgreSQL JSON, JSONB, and UUID 
columns now use native PostgreSQL parameter types rather than varchar inference.
   
   ### How was this patch tested?
   
   Added `PostgresJdbcRowConverterTest` coverage that verifies the generated 
`PGobject` type and value for `json`, `jsonb`, and `uuid`.
   
   Validated locally with JDK 8 against PostgreSQL 9.6.8: the connector 
converter inserted JSON, JSONB, and UUID values into native columns; 
`pg_typeof` returned `json`, `jsonb`, and `uuid`, and the stored JSON fields 
and UUID matched the input.
   
   Focused unit test result: 13 tests run, 0 failures, 0 errors.
   
   ### Check list
   
   * [x] No new Jar binary package is added.
   * [x] Documentation and incompatible-change updates are not required for 
this bug fix.
   * [x] No new connector, plugin mapping, distribution dependency, or 
connector configuration is required.
   


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