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

Andrey Mashenkov updated IGNITE-14479:
--------------------------------------
    Description: 
# 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 default value MUST be of the natively supported type or a byte[] with 
a serialized value.
# We should be able to write default to a row in raw format (as already 
serialized into byte[])  during a marshaling stage.
# We should always write defaults to Row during a marshaling stage as Row has 
no markers that a default value is stored for the column in the row.


  was:
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.






> Column default values serialization.
> ------------------------------------
>
>                 Key: IGNITE-14479
>                 URL: https://issues.apache.org/jira/browse/IGNITE-14479
>             Project: Ignite
>          Issue Type: New Feature
>            Reporter: Andrey Mashenkov
>            Priority: Major
>              Labels: iep-54, ignite-3
>             Fix For: 3.0.0-alpha3
>
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> # 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 default value MUST be of the natively supported type or a byte[] 
> with a serialized value.
> # We should be able to write default to a row in raw format (as already 
> serialized into byte[])  during a marshaling stage.
> # We should always write defaults to Row during a marshaling stage as Row has 
> no markers that a default value is stored for the column in the row.



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

Reply via email to