| 312 | } |
| 313 | |
| 314 | void ListChunkData::copyListValues(const list_entry_t& entry, ValueVector* dataVector) { |
| 315 | auto numListValuesToCopy = entry.size; |
| 316 | auto numListValuesCopied = 0u; |
| 317 | |
| 318 | SelectionVector selVector; |
| 319 | selVector.setToFiltered(); |
| 320 | while (numListValuesCopied < numListValuesToCopy) { |
| 321 | auto numListValuesToCopyInBatch = |
| 322 | std::min<uint64_t>(numListValuesToCopy - numListValuesCopied, DEFAULT_VECTOR_CAPACITY); |
| 323 | selVector.setSelSize(numListValuesToCopyInBatch); |
| 324 | for (auto j = 0u; j < numListValuesToCopyInBatch; j++) { |
| 325 | selVector[j] = entry.offset + numListValuesCopied + j; |
| 326 | } |
| 327 | dataColumnChunk->append(dataVector, selVector); |
| 328 | numListValuesCopied += numListValuesToCopyInBatch; |
| 329 | } |
| 330 | } |
| 331 | |
| 332 | void ListChunkData::resetOffset() { |
| 333 | offset_t nextListOffsetReset = 0; |
nothing calls this directly
no test coverage detected