ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrey Mashenkov <amashen...@gridgain.com>
Subject Re: Null column values - bug
Date Thu, 03 Nov 2016 15:09:49 GMT
Javadoc says that null value should be returned.

But from the other side, there is wasNull() method, that should be use for
null checks.



On Thu, Nov 3, 2016 at 5:39 PM, Andrey Gura <agura@apache.org> wrote:

> String.valuOf(null) return "null" string by contract.
>
> On Thu, Nov 3, 2016 at 5:33 PM, Anil <anilklce@gmail.com> wrote:
>
>> 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
>>
>>
>>
>

Mime
View raw message