Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions docs/source/format/Intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -296,6 +296,13 @@ key is the field name and the child array its values. The field (key) is
saved in the schema and the values of a specific field (key) are saved in
the child array.

Since child arrays are independent, Arrow does not enforce physical
consistency between the struct's validity bitmap and those of it's children.
Logically, a struct row is only valid if both the parent and the child
bitmaps have a value of 1 for that slot (a logical AND operation).
This allows for "hidden" data to exist in child arrays at null struct
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would personally remove the term hidden as it might give connotations of obfuscation/security related and this is not the intention, the intention is more about avoiding copy and reusing existing buffers. The data is just left in place because it's cheaper:

Suggested change
This allows for "hidden" data to exist in child arrays at null struct
This allows for data to exist in child arrays at null struct

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh! I've just seen that the term "hidden" appears on the spec. Welp if the spec says so ... I'll leave it to you to decide :)

positions (see ``alice`` below).

.. figure:: ./images/struct-diagram.svg
:alt: Diagram is showing the difference between the struct data type
presented in a Table and the data actually stored in computer
Expand Down
Loading
Loading