MCPcopy Create free account
hub / github.com/LadybugDB/ladybug / writeCSRListNoPersistentDeletions

Function writeCSRListNoPersistentDeletions

src/storage/table/csr_node_group.cpp:756–771  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

754}
755
756static void writeCSRListNoPersistentDeletions(CheckpointReadCursor& readCursor,
757 CheckpointWriteCursor& writeCursor, offset_t oldCSRLength) {
758 readCursor.rangeSegments(oldCSRLength,
759 [&](auto& segmentData, auto offsetInSegment, auto lengthInSegment, auto) {
760 if (!canSkipWrite(readCursor, writeCursor)) {
761 [[maybe_unused]] auto [readSegmentData, readOffsetInSegment] =
762 readCursor.getDataToRead();
763 DASSERT(readSegmentData == segmentData.segmentData.get() &&
764 readOffsetInSegment == offsetInSegment);
765 writeCursor.appendToCurrentSegment(segmentData.segmentData.get(), offsetInSegment,
766 lengthInSegment);
767 }
768 readCursor.advance(lengthInSegment);
769 writeCursor.advance(lengthInSegment);
770 });
771}
772
773static void writeCSRListWithPersistentDeletions(const Transaction* transaction,
774 CheckpointReadCursor& readCursor, CheckpointWriteCursor& writeCursor, offset_t oldCSRLength,

Callers 1

Calls 6

canSkipWriteFunction · 0.85
getDataToReadMethod · 0.80
rangeSegmentsMethod · 0.45
getMethod · 0.45
advanceMethod · 0.45

Tested by

no test coverage detected