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)