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

Method flush

src/storage/table/chunked_node_group.cpp:467–479  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

465}
466
467std::unique_ptr<ChunkedNodeGroup> InMemChunkedNodeGroup::flush(const Transaction* transaction,
468 PageAllocator& pageAllocator) {
469 std::vector<std::unique_ptr<ColumnChunk>> flushedChunks(getNumColumns());
470 for (auto i = 0u; i < getNumColumns(); i++) {
471 flushedChunks[i] = flushInternal(getColumnChunk(i), pageAllocator);
472 }
473 auto flushedChunkedGroup =
474 std::make_unique<ChunkedNodeGroup>(std::move(flushedChunks), 0 /*startRowIdx*/);
475 flushedChunkedGroup->versionInfo = std::make_unique<VersionInfo>();
476 DASSERT(flushedChunkedGroup->getNumRows() == numRows);
477 flushedChunkedGroup->versionInfo->append(transaction->getID(), 0, numRows);
478 return flushedChunkedGroup;
479}
480
481std::unique_ptr<ChunkedNodeGroup> ChunkedNodeGroup::flushEmpty(MemoryManager& mm,
482 const std::vector<common::LogicalType>& columnTypes, bool enableCompression, uint64_t capacity,

Callers 2

addColumnMethod · 0.45
flushEmptyMethod · 0.45

Calls 3

getNumColumnsFunction · 0.50
getNumRowsMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected