diff --git a/docs/source/format/Columnar.rst b/docs/source/format/Columnar.rst index 51e8eb2cf5a67..d70f8528938b7 100644 --- a/docs/source/format/Columnar.rst +++ b/docs/source/format/Columnar.rst @@ -309,7 +309,11 @@ That is, a null value may occupy a **non-empty** memory space in the data buffer. When this is true, the content of the corresponding memory space is undefined. -Generally the first value in the offsets array is 0, and the last slot +Offsets must be monotonically increasing, that is ``offsets[j+1] >= offsets[j]`` +for ``0 <= j < length``, even for null slots. This property ensures the +location for all values is valid and well defined. + +Generally the first slot in the offsets array is 0, and the last slot is the length of the values array. When serializing this layout, we recommend normalizing the offsets to start at 0.