HI ,
null values are returned as "null" with ignite jdbc result set.
private <T> T getTypedValue(int colIdx, Class<T> cls) throws SQLException {
ensureNotClosed();
ensureHasCurrentRow();
try {
T val = cls == String.class ? (T)String.valueOf(curr.get(colIdx
- 1)) : (T)curr.get(colIdx - 1);
wasNull = val == null;
return val;
}
catch (IndexOutOfBoundsException ignored) {
throw new SQLException("Invalid column index: " + colIdx);
}
catch (ClassCastException ignored) {
throw new SQLException("Value is an not instance of " +
cls.getName());
}
}
if a column value is null (curr.get(colIdx - 1) return null but
String.valueOf( (curr.get(colIdx - 1) ) is not null it is "null".
ArrayList<String> obj = new ArrayList<String>();
obj.add(null);
System.out.println(null == (String)String.valueOf(obj.get(0)));
above Sysout is false.
Fix :
Object colValue = curr.get(colIdx - 1);
T val = cls == String.class ? (String) colValue : (T) colValue;
or return (T) colValue
please let me know if you see any issues. thanks