| 484 | } |
| 485 | |
| 486 | void ColumnChunkData::resize(uint64_t newCapacity) { |
| 487 | const auto numBytesAfterResize = getBufferSize(newCapacity); |
| 488 | if (numBytesAfterResize > getBufferSize()) { |
| 489 | auto resizedBuffer = buffer->getMemoryManager()->allocateBuffer(false, numBytesAfterResize); |
| 490 | auto bufferSize = getBufferSize(); |
| 491 | auto resizedBufferData = resizedBuffer->getBuffer().data(); |
| 492 | memcpy(resizedBufferData, buffer->getBuffer().data(), bufferSize); |
| 493 | memset(resizedBufferData + bufferSize, 0, numBytesAfterResize - bufferSize); |
| 494 | buffer = std::move(resizedBuffer); |
| 495 | } |
| 496 | if (nullData) { |
| 497 | nullData->resize(newCapacity); |
| 498 | } |
| 499 | if (newCapacity > capacity) { |
| 500 | capacity = newCapacity; |
| 501 | } |
| 502 | } |
| 503 | |
| 504 | void ColumnChunkData::resizeWithoutPreserve(uint64_t newCapacity) { |
| 505 | const auto numBytesAfterResize = getBufferSize(newCapacity); |
no test coverage detected