You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Andrey Mashenkov (Jira)" <ji...@apache.org> on 2021/12/15 13:27:00 UTC
[jira] [Commented] (IGNITE-16115) Implement getNullable and getOrDefault operations.
[ https://issues.apache.org/jira/browse/IGNITE-16115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17459939#comment-17459939 ]
Andrey Mashenkov commented on IGNITE-16115:
-------------------------------------------
Null-values are not allowed for KV binary view by design.
Does it make sense to implement getNullable(K) method or add a stub throwing e.g. an UnsupportedOperationException?
> Implement getNullable and getOrDefault operations.
> --------------------------------------------------
>
> Key: IGNITE-16115
> URL: https://issues.apache.org/jira/browse/IGNITE-16115
> Project: Ignite
> Issue Type: Improvement
> Reporter: Andrey Mashenkov
> Assignee: Andrey Mashenkov
> Priority: Major
> Labels: ignite-3
> Fix For: 3.0.0-alpha4
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> It is allowed to map an object to a single nullable column, which makes 'null' values legal in the KeyValue view.
> Once the 'null' value is possible there is no way to distinguish, if there is no row in a table for the given key, or the row exists and the mapped column contains the 'null' value.
> Let's introduce NullableValue class-wrapper for a value and implement getNullable, and getOrDefault methods for that purpose.
> The first one is useful for cases, when it's not possible to use a "default", but creates an additional wrapper.
> Also, the KeyValueView.get(key) method behavior should be changed:
> * return {{null}} if the table has no row for the key.
> * return a non-null value for the key.
> * fail with a suggestion to use a getNullable, if a {{null}} value returned for the key to avoid ambiguity.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)