You are viewing a plain text version of this content. The canonical link for it is here.
Posted to builds@flink.apache.org by GitBox <gi...@apache.org> on 2026/03/11 07:38:59 UTC
[GH] (flink-connector-jdbc/fixDB2bug): Workflow run "Flink Connector JDBC CI Backwards Compatibility" failed!
The GitHub Actions job "Flink Connector JDBC CI Backwards Compatibility" on flink-connector-jdbc.git/fixDB2bug has failed.
Run started by GitHub user andyphone (triggered by RocMarshal).
Head commit for run:
64a5e2e13b370caadc9c7bade14bc4c8b13b1839 / andyphone <79...@qq.com>
Update Db2PreparedStatementTest.java
### Motivation
The SQL generated by `Db2Dialect#getUpsertStatement` previously ended with a trailing semicolon (`;`).
When executing the generated statement through the DB2 JDBC driver, the trailing semicolon may cause a syntax error. In particular, when the target table contains a primary key, the driver may throw the following exception:
```
com.ibm.db2.jcc.am.SqlSyntaxErrorException:
DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601
```
This happens because DB2 JDBC does not expect a semicolon at the end of a SQL statement executed through `PreparedStatement`.
### Changes
This PR removes the trailing semicolon from the SQL statement generated by `Db2Dialect#getUpsertStatement`.
As a result, the generated `MERGE INTO` statement can be executed correctly by the DB2 JDBC driver.
### Tests
The existing `Db2DialectTest#testUpsertStatement` test has been updated to reflect the corrected SQL format (without the trailing semicolon).
This ensures that a trailing semicolon will not be reintroduced in future changes.
### Impact
This change only affects the SQL formatting of the DB2 dialect and does not affect other JDBC dialect implementations.
Report URL: https://github.com/apache/flink-connector-jdbc/actions/runs/22941367429
With regards,
GitHub Actions via GitBox