[ 
https://issues.apache.org/jira/browse/IGNITE-21793?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel Tupitsyn updated IGNITE-21793:
------------------------------------
    Description: 
# *getOrDefault* accepts nullables after IGNITE-20524, but its semantics is to 
ensure null safety. It should not accept or nulls (*getNullable* methods exist 
to deal with nulls)
# *getNullable* family of methods throws exceptions from tuple-based views 
(*ClientKeyValueBinaryView*, *KeyValueBinaryViewImpl*), but it should work same 
as equivalent getters to ensure view equivalence.
# *getAndReplaceAsync* has nullable key and value, but actual implementations 
(client and embedded) disallow nulls.
# *getNullableAndPut* throws *MarshallerException* when value is null, unlike 
*getAndPut* which correctly throws *NullPointerException*

  was:
# *getOrDefault* accepts nullables after IGNITE-20524, but its semantics is to 
ensure null safety. It should not accept or nulls (*getNullable* methods exist 
to deal with nulls)
# *getNullable* family of methods throws exceptions from tuple-based views 
(*ClientKeyValueBinaryView*, *KeyValueBinaryViewImpl*), but it should work same 
as equivalent getters to ensure view equivalence.
# *getAndReplaceAsync* has nullable key and value, but actual implementations 
(client and embedded) disallow nulls.


> Fix inconsistencies in table view APIs
> --------------------------------------
>
>                 Key: IGNITE-21793
>                 URL: https://issues.apache.org/jira/browse/IGNITE-21793
>             Project: Ignite
>          Issue Type: Improvement
>    Affects Versions: 3.0
>            Reporter: Alexey Scherbakov
>            Assignee: Pavel Tupitsyn
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.0
>
>
> # *getOrDefault* accepts nullables after IGNITE-20524, but its semantics is 
> to ensure null safety. It should not accept or nulls (*getNullable* methods 
> exist to deal with nulls)
> # *getNullable* family of methods throws exceptions from tuple-based views 
> (*ClientKeyValueBinaryView*, *KeyValueBinaryViewImpl*), but it should work 
> same as equivalent getters to ensure view equivalence.
> # *getAndReplaceAsync* has nullable key and value, but actual implementations 
> (client and embedded) disallow nulls.
> # *getNullableAndPut* throws *MarshallerException* when value is null, unlike 
> *getAndPut* which correctly throws *NullPointerException*



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to