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

Andrey Mashenkov updated IGNITE-14479:
--------------------------------------
    Description: 
h3. Motivation.
Let's add default values support that is widely used in SQL.
This will allow a user to work with Table binary views more efficiently 
specifying only a subset of columns in some cases.


h3. Description.
This task is related to Table binary views as well as non-binary views with 
truncated classes.

# The Column default value is a part of schema configuration and intended to be 
transferred among nodes, incl. server nodes where can be no user classes.
Thus, the value MUST be of the natively supported type or a byte[] with a 
serialized value that can be compared as byte[].
# Tuple has no default-value-map support (like null-map), so we should always 
write defaults (specified in the current version of schema) to Tuple during a 
marshaling stage.
Thus, we should be able to answer if a 'null' value was set or a value was not 
set to Tuple and write a default column value to Row explicitly if it was not 
specified in Tuple.
Seems, a Tuple contract needs to be extended.





  was:
Let's add default column values support.

Tuple has no default-value-map support (like null-map).
Thus, we should be able to answer if a 'null' value was set or a value was not 
set to Tuple and write a default column value to Row explicitly if it was not 
specified in Tuple.
This may require extending the Tuple contract, which is ok.

The Column default value is a part of schema configuration and intended to be 
transferred among nodes, incl. server nodes where can be no user classes.
Thus, the value MUST be of the native supported type or a byte[] with a 
serialized value that can be compared as byte[].






> Add column default values support.
> ----------------------------------
>
>                 Key: IGNITE-14479
>                 URL: https://issues.apache.org/jira/browse/IGNITE-14479
>             Project: Ignite
>          Issue Type: New Feature
>            Reporter: Andrey Mashenkov
>            Priority: Major
>
> h3. Motivation.
> Let's add default values support that is widely used in SQL.
> This will allow a user to work with Table binary views more efficiently 
> specifying only a subset of columns in some cases.
> h3. Description.
> This task is related to Table binary views as well as non-binary views with 
> truncated classes.
> # The Column default value is a part of schema configuration and intended to 
> be transferred among nodes, incl. server nodes where can be no user classes.
> Thus, the value MUST be of the natively supported type or a byte[] with a 
> serialized value that can be compared as byte[].
> # Tuple has no default-value-map support (like null-map), so we should always 
> write defaults (specified in the current version of schema) to Tuple during a 
> marshaling stage.
> Thus, we should be able to answer if a 'null' value was set or a value was 
> not set to Tuple and write a default column value to Row explicitly if it was 
> not specified in Tuple.
> Seems, a Tuple contract needs to be extended.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to