molsion created FLINK-13690:
-------------------------------
Summary: Connectors/JDBC LookupFunction getFieldFromResultSet BUG
Key: FLINK-13690
URL:
https://issues.apache.org/jira/browse/FLINK-13690 Project: Flink
Issue Type: Bug
Components: Connectors / JDBC
Affects Versions: 1.8.1, 1.7.2
Reporter: molsion
JDBCUtils.getFieldFromResultSet(int index, int type, ResultSet set)
this method have a bug, ResultSet.wasNull() reports whether the last column read had a value of SQL NULL, {color:#FF0000}NOT the current column {color}
*{color:#333333}bug scene:{color}*
{color:#333333}1. I want to join a dimension table, column is {color}
{code:java}
Id (INT), ProjectType(INT), Desp(VARCHAR),Name(VARCHAR)
{code}
2. select from database table is
{code:java}
{"Id": 10, "ProjectType":100,"Desp":NULL,"Name":"ProjectName"}
{code}
3. org.apache.flink.api.java.io.jdbc.JDBCLookupFunction#convertToRowFromResultSet return the row is
{code:java}
{"Id": 10, "ProjectType":100,"Desp":NULL,"Name":NULL}{code}
beause JDBCUtils.getFieldFromResultSet(int index, int type, ResultSet set) when index = 3, ResultSet.wasNull is true, then value of column Name is null
this operator will influence next opertator , then i can not get the column Name.
*Bug Fix:*
org.apache.flink.api.java.io.jdbc.JDBCUtils#getFieldFromResultSet can fix NULL judge to fix this bug
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)