[
https://issues.apache.org/jira/browse/IGNITE-19666?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17738378#comment-17738378
]
Pavel Tupitsyn commented on IGNITE-19666:
-----------------------------------------
.NET changes pushed to the branch
> Remove null map in Binary Tuple format
> --------------------------------------
>
> Key: IGNITE-19666
> URL: https://issues.apache.org/jira/browse/IGNITE-19666
> Project: Ignite
> Issue Type: Improvement
> Reporter: Aleksey Demakov
> Assignee: Aleksey Demakov
> Priority: Major
> Labels: iep-92, ignite-3
> Time Spent: 10m
> Remaining Estimate: 0h
>
> To move towards single-pass in-place construction of binary tuples the
> biggest obstacle is presence of the null map.
> -It is proposed to encode null values as a single-byte special value (null
> mark) in-line with regular values. It is required to escape regular values
> that have the same bit pattern as the null mark so the null mark needs to be
> relatively rare. The value of 0x80 seems a good one.-
> It is proposed to encode a null value as empty byte sequence. Zero-value
> compression has to be removed from the format. Empty strings and byte arrays
> has to be encoded as a single-byte special value (e.g. 0x80). The string and
> byte array values that start with with the same single byte has to be escaped
> by doubling this byte.
> By the way, this would greatly simplify making tuples from other tuples. E.g.
> if we need to copy values for a column range [3, 7] from one tuple to another
> tuple, we could copy values almost blindly with single memory copy. No need
> for any bit magic anymore.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)