| 479 | } |
| 480 | |
| 481 | std::unique_ptr<ChunkedNodeGroup> ChunkedNodeGroup::flushEmpty(MemoryManager& mm, |
| 482 | const std::vector<common::LogicalType>& columnTypes, bool enableCompression, uint64_t capacity, |
| 483 | common::row_idx_t startRowIdx, PageAllocator& pageAllocator) { |
| 484 | auto emptyGroup = std::make_unique<ChunkedNodeGroup>(mm, columnTypes, enableCompression, |
| 485 | capacity, startRowIdx, ResidencyState::IN_MEMORY); |
| 486 | for (auto i = 0u; i < columnTypes.size(); i++) { |
| 487 | emptyGroup->getColumnChunk(i).flush(pageAllocator); |
| 488 | } |
| 489 | // Reset residencyState and numRows after flushing. |
| 490 | emptyGroup->residencyState = ResidencyState::ON_DISK; |
| 491 | return emptyGroup; |
| 492 | } |
| 493 | |
| 494 | uint64_t ChunkedNodeGroup::getEstimatedMemoryUsage() const { |
| 495 | if (residencyState == ResidencyState::ON_DISK) { |