The storage size of an ARRAY/VARRAY depends on how it is defined.
Field | Description | Size (bytes) |
---|---|---|
Flag bits | Used to configure the layout of the field. Bit 0: variable offset size.
Bits 1 - 15: unused |
2 |
Last present element | Index of the last present element in the array. This consists of 1 to number_of_dimensions integer values, one for each dimension. The index values are 0-based. If the array has uninitialized elements, the index values are equal to -1. |
4 x number_of_dimensions |
Presence bit array | Presence bit array for the array elements. A variable length byte array with 1 bit per element laid out in row major order. 0 means the element is null. 1 means the element is not null. |
|
Variable offset array |
|
2 x number_of_elements or 4 x number_of_elements |
Element value array | All elements are stored in row major order. Variable length elements are stored in their actual size. |
number_of_elements x element_size |