| 234 | //------------------------------------------------------------------------------ |
| 235 | |
| 236 | void *DataBlock_AllocateItemOutOfOrder |
| 237 | ( |
| 238 | DataBlock *dataBlock, |
| 239 | uint64_t idx |
| 240 | ) { |
| 241 | // Check if idx<=data block's current capacity. If needed, allocate additional blocks. |
| 242 | DataBlock_Ensure(dataBlock, idx); |
| 243 | DataBlockItemHeader *item_header = DataBlock_GetItemHeader(dataBlock, idx); |
| 244 | MARK_HEADER_AS_NOT_DELETED(item_header); |
| 245 | dataBlock->itemCount++; |
| 246 | return ITEM_DATA(item_header); |
| 247 | } |
| 248 | |
| 249 | void DataBlock_MarkAsDeletedOutOfOrder |
| 250 | ( |