Evgeny Stanilovsky created IGNITE-16349:
-------------------------------------------

             Summary: Sql. Check for potential NPE after IGNITE-15462.
                 Key: IGNITE-16349
                 URL: https://issues.apache.org/jira/browse/IGNITE-16349
             Project: Ignite
          Issue Type: Bug
          Components: sql
            Reporter: Evgeny Stanilovsky
            Assignee: Vladimir Ermakov


After merging IGNITE-15462 NPE is possible caused by differen in return vals.
For example code like :

{noformat}
final Int2ObjectOpenHashMap<List<Integer>> targets = new 
Int2ObjectOpenHashMap<>();
...
final Collection<Integer> integers = targets.get(ifc.getFieldIndex());
if (integers.isEmpty()) <- possible NPE
{noformat}

due to difference between:

Multimap#get

{noformat}
  /**
   * Returns a view collection of the values associated with {@code key} in 
this multimap, if any.
   * Note that when {@code containsKey(key)} is false, this returns an empty 
collection, not {@code
   * null}.
   *
   * <p>Changes to the returned collection will update the underlying multimap, 
and vice versa.
   */
  Collection<V> get(@Nullable K key);
{noformat}

and

Int2ObjectOpenHashMap#get

{noformat}
Returns:
the corresponding value, or the default return value if no value was present 
for the given key.
V defaultReturnValue()
Gets the default return value.
This default implementation just return the default null value of the type 
(null for objects, 0 for scalars, false for Booleans).
{noformat}




--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to