westonpace commented on a change in pull request #12599: URL: https://github.com/apache/arrow/pull/12599#discussion_r824966527
########## File path: docs/source/format/Columnar.rst ########## @@ -522,19 +521,24 @@ The layout for ``[{'joe', 1}, {null, 2}, null, {'mark', 4}]`` would be: :: |------------|-------------|-------------|-------------|-------------| | 1 | 2 | unspecified | 4 | unspecified | -While a struct does not have physical storage for each of its semantic -slots (i.e. each scalar C-like struct), an entire struct slot can be -set to null via the validity bitmap. Any of the child field arrays can -have null values according to their respective independent validity -bitmaps. This implies that for a particular struct slot the validity -bitmap for the struct array might indicate a null slot when one or -more of its child arrays has a non-null value in their corresponding -slot. When reading the struct array the parent validity bitmap takes -priority. This is illustrated in the example above, the child arrays -have valid entries for the null struct but are 'hidden' from the -consumer by the parent array's validity bitmap. However, when treated -independently corresponding values of the children array will be -non-null. +Struct Validity +~~~~~~~~~~~~~~~ + +A struct array has its own validity bitmap in addition to each of its +child arrays' own validity bitmap. This implies that, for a particular struct +array slot, the validity bitmap for the struct array might indicate a null +when one or more of its child arrays has a non-null value in their corresponding +slot; or conversely, a child array might have a null in its validity bitmap +while the struct array's validity bitmap shows a non-null value. + +Therefore, to know whether a particular child entry is null, one must Review comment: ```suggestion Therefore, to know whether a particular child entry is valid, one must ``` ########## File path: docs/source/format/Columnar.rst ########## @@ -522,19 +521,24 @@ The layout for ``[{'joe', 1}, {null, 2}, null, {'mark', 4}]`` would be: :: |------------|-------------|-------------|-------------|-------------| | 1 | 2 | unspecified | 4 | unspecified | -While a struct does not have physical storage for each of its semantic -slots (i.e. each scalar C-like struct), an entire struct slot can be -set to null via the validity bitmap. Any of the child field arrays can -have null values according to their respective independent validity -bitmaps. This implies that for a particular struct slot the validity -bitmap for the struct array might indicate a null slot when one or -more of its child arrays has a non-null value in their corresponding -slot. When reading the struct array the parent validity bitmap takes -priority. This is illustrated in the example above, the child arrays -have valid entries for the null struct but are 'hidden' from the -consumer by the parent array's validity bitmap. However, when treated -independently corresponding values of the children array will be -non-null. +Struct Validity +~~~~~~~~~~~~~~~ + +A struct array has its own validity bitmap in addition to each of its +child arrays' own validity bitmap. This implies that, for a particular struct +array slot, the validity bitmap for the struct array might indicate a null +when one or more of its child arrays has a non-null value in their corresponding +slot; or conversely, a child array might have a null in its validity bitmap +while the struct array's validity bitmap shows a non-null value. Review comment: ```suggestion A struct array has its own validity bitmap in addition to each of its child arrays' own validity bitmap. The validity bitmap for the struct array might indicate a null when one or more of its child arrays has a non-null value in their corresponding slot; or conversely, a child array might have a null in its validity bitmap while the struct array's validity bitmap shows a non-null value. ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org