| 505 | } |
| 506 | |
| 507 | static std::unique_ptr<ChunkedCSRNodeGroup> createNewPersistentChunkGroup( |
| 508 | ChunkedCSRNodeGroup& oldPersistentChunkGroup, CSRNodeGroupCheckpointState& csrState) { |
| 509 | auto newGroup = |
| 510 | std::make_unique<ChunkedCSRNodeGroup>(oldPersistentChunkGroup, csrState.columnIDs); |
| 511 | // checkpointed columns have been moved to the new group, reclaim storage for dropped column |
| 512 | oldPersistentChunkGroup.reclaimStorage(csrState.pageAllocator); |
| 513 | return newGroup; |
| 514 | } |
| 515 | |
| 516 | void CSRNodeGroup::checkpointInMemAndOnDisk(const UniqLock& lock, NodeGroupCheckpointState& state) { |
| 517 | // TODO(Guodong): Should skip early here if no changes in the node group, so we avoid scanning |
no test coverage detected