Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
0.9.9
Description
NULL values in columnar storage is determined by setting the MSB of the level where the null occurred. However, the reader clears the MSB to get the actual level. When writing the level during the merge, the level is written without the MSB – which can turn the null into a MISSING or an array delimiter (if the null is in an array).
Another issue observed when adding a null value to a UNION node. The issue is if the original node type (before it becomes a union due to type heterogeneity) is a nested value, a ClassCastException is thrown in the ColumnTransformer. This is due to trying to cast the nested node to a primitive one to add the primitive value NULL.