Collections are composite objects that comprise a collection header and an aggregate of variable size collection blocks.
When you do not specify the collection block size, collections behave as follows.
-
For any collection, the first block is instantiated with a size sufficient to contain exactly four entries. As entries are added to the collection, the collection block grows in increments up to the defined maximum size for the collection.
-
The List and Btree collection types are comprised of collection blocks of varying sizes.
-
Array
blocks start with an initial size of four entries and grow to the maximum block size limit, as required. Random insertions into the middle of an array can result in a list structure comprising a range of block sizes.
-
When a Btree root block has grown to the maximum number of entries for each block, the root block is split and all further blocks from then on are created with an actual size of the defined maximum size for the collection.