Kùzu C++ API
Loading...
Searching...
No Matches
kuzu::storage::NodeGroup Class Reference

#include <node_group.h>

Public Member Functions

 NodeGroup (const common::node_group_idx_t nodeGroupIdx, const bool enableCompression, std::vector< common::LogicalType > dataTypes, common::row_idx_t capacity=common::StorageConstants::NODE_GROUP_SIZE, NodeGroupDataFormat format=NodeGroupDataFormat::REGULAR)
 
 NodeGroup (const common::node_group_idx_t nodeGroupIdx, const bool enableCompression, std::unique_ptr< ChunkedNodeGroup > chunkedNodeGroup, common::row_idx_t capacity=common::StorageConstants::NODE_GROUP_SIZE, NodeGroupDataFormat format=NodeGroupDataFormat::REGULAR)
 
 NodeGroup (const common::node_group_idx_t nodeGroupIdx, const bool enableCompression, common::row_idx_t capacity, NodeGroupDataFormat format)
 
virtual ~NodeGroup ()=default
 
virtual bool isEmpty () const
 
virtual common::row_idx_t getNumRows () const
 
void moveNextRowToAppend (common::row_idx_t numRowsToAppend)
 
common::row_idx_t getNumRowsLeftToAppend () const
 
bool isFull () const
 
const std::vector< common::LogicalType > & getDataTypes () const
 
NodeGroupDataFormat getFormat () const
 
common::row_idx_t append (const transaction::Transaction *transaction, ChunkedNodeGroup &chunkedGroup, common::row_idx_t startRowIdx, common::row_idx_t numRowsToAppend)
 
common::row_idx_t append (const transaction::Transaction *transaction, const std::vector< ColumnChunk * > &chunkedGroup, common::row_idx_t startRowIdx, common::row_idx_t numRowsToAppend)
 
void append (const transaction::Transaction *transaction, const std::vector< common::ValueVector * > &vectors, common::row_idx_t startRowIdx, common::row_idx_t numRowsToAppend)
 
void merge (transaction::Transaction *transaction, std::unique_ptr< ChunkedNodeGroup > chunkedGroup)
 
virtual void initializeScanState (transaction::Transaction *transaction, TableScanState &state)
 
void initializeScanState (transaction::Transaction *transaction, const common::UniqLock &lock, TableScanState &state)
 
virtual NodeGroupScanResult scan (transaction::Transaction *transaction, TableScanState &state)
 
bool lookup (const common::UniqLock &lock, transaction::Transaction *transaction, const TableScanState &state)
 
bool lookup (transaction::Transaction *transaction, const TableScanState &state)
 
void update (transaction::Transaction *transaction, common::row_idx_t rowIdxInGroup, common::column_id_t columnID, const common::ValueVector &propertyVector)
 
bool delete_ (const transaction::Transaction *transaction, common::row_idx_t rowIdxInGroup)
 
common::row_idx_t getNumDeletedRows (const transaction::Transaction *transaction)
 
virtual void addColumn (transaction::Transaction *transaction, TableAddColumnState &addColumnState, BMFileHandle *dataFH)
 
void flush (BMFileHandle &dataFH)
 
virtual void checkpoint (NodeGroupCheckpointState &state)
 
bool hasChanges ()
 
uint64_t getEstimatedMemoryUsage ()
 
virtual void serialize (common::Serializer &serializer)
 
common::node_group_idx_t getNumChunkedGroups ()
 
ChunkedNodeGroupgetChunkedNodeGroup (common::node_group_idx_t groupIdx)
 
template<class TARGET >
TARGET & cast ()
 
template<class TARGETT >
const TARGETT & cast () const
 
bool isVisible (const transaction::Transaction *transaction, common::row_idx_t rowIdxInGroup)
 
bool isDeleted (const transaction::Transaction *transaction, common::offset_t offsetInGroup)
 
bool isInserted (const transaction::Transaction *transaction, common::offset_t offsetInGroup)
 

Static Public Member Functions

static std::unique_ptr< NodeGroupdeserialize (common::Deserializer &deSer)
 

Protected Attributes

common::node_group_idx_t nodeGroupIdx
 
NodeGroupDataFormat format
 
bool enableCompression
 
std::atomic< common::row_idx_tnumRows
 
common::row_idx_t nextRowToAppend
 
common::row_idx_t capacity
 
std::vector< common::LogicalTypedataTypes
 
GroupCollection< ChunkedNodeGroupchunkedGroups
 

Constructor & Destructor Documentation

◆ NodeGroup() [1/3]

kuzu::storage::NodeGroup::NodeGroup ( const common::node_group_idx_t nodeGroupIdx,
const bool enableCompression,
std::vector< common::LogicalType > dataTypes,
common::row_idx_t capacity = common::StorageConstants::NODE_GROUP_SIZE,
NodeGroupDataFormat format = NodeGroupDataFormat::REGULAR )
inline

◆ NodeGroup() [2/3]

kuzu::storage::NodeGroup::NodeGroup ( const common::node_group_idx_t nodeGroupIdx,
const bool enableCompression,
std::unique_ptr< ChunkedNodeGroup > chunkedNodeGroup,
common::row_idx_t capacity = common::StorageConstants::NODE_GROUP_SIZE,
NodeGroupDataFormat format = NodeGroupDataFormat::REGULAR )
inline

◆ NodeGroup() [3/3]

kuzu::storage::NodeGroup::NodeGroup ( const common::node_group_idx_t nodeGroupIdx,
const bool enableCompression,
common::row_idx_t capacity,
NodeGroupDataFormat format )
inline

◆ ~NodeGroup()

virtual kuzu::storage::NodeGroup::~NodeGroup ( )
virtualdefault

Member Function Documentation

◆ addColumn()

virtual void kuzu::storage::NodeGroup::addColumn ( transaction::Transaction * transaction,
TableAddColumnState & addColumnState,
BMFileHandle * dataFH )
virtual

◆ append() [1/3]

common::row_idx_t kuzu::storage::NodeGroup::append ( const transaction::Transaction * transaction,
ChunkedNodeGroup & chunkedGroup,
common::row_idx_t startRowIdx,
common::row_idx_t numRowsToAppend )

◆ append() [2/3]

common::row_idx_t kuzu::storage::NodeGroup::append ( const transaction::Transaction * transaction,
const std::vector< ColumnChunk * > & chunkedGroup,
common::row_idx_t startRowIdx,
common::row_idx_t numRowsToAppend )

◆ append() [3/3]

void kuzu::storage::NodeGroup::append ( const transaction::Transaction * transaction,
const std::vector< common::ValueVector * > & vectors,
common::row_idx_t startRowIdx,
common::row_idx_t numRowsToAppend )

◆ cast() [1/2]

template<class TARGET >
TARGET & kuzu::storage::NodeGroup::cast ( )
inline

◆ cast() [2/2]

template<class TARGETT >
const TARGETT & kuzu::storage::NodeGroup::cast ( ) const
inline

◆ checkpoint()

virtual void kuzu::storage::NodeGroup::checkpoint ( NodeGroupCheckpointState & state)
virtual

◆ delete_()

bool kuzu::storage::NodeGroup::delete_ ( const transaction::Transaction * transaction,
common::row_idx_t rowIdxInGroup )

◆ deserialize()

static std::unique_ptr< NodeGroup > kuzu::storage::NodeGroup::deserialize ( common::Deserializer & deSer)
static

◆ flush()

void kuzu::storage::NodeGroup::flush ( BMFileHandle & dataFH)

◆ getChunkedNodeGroup()

ChunkedNodeGroup * kuzu::storage::NodeGroup::getChunkedNodeGroup ( common::node_group_idx_t groupIdx)
inline

◆ getDataTypes()

const std::vector< common::LogicalType > & kuzu::storage::NodeGroup::getDataTypes ( ) const
inline

◆ getEstimatedMemoryUsage()

uint64_t kuzu::storage::NodeGroup::getEstimatedMemoryUsage ( )

◆ getFormat()

NodeGroupDataFormat kuzu::storage::NodeGroup::getFormat ( ) const
inline

◆ getNumChunkedGroups()

common::node_group_idx_t kuzu::storage::NodeGroup::getNumChunkedGroups ( )
inline

◆ getNumDeletedRows()

common::row_idx_t kuzu::storage::NodeGroup::getNumDeletedRows ( const transaction::Transaction * transaction)

◆ getNumRows()

virtual common::row_idx_t kuzu::storage::NodeGroup::getNumRows ( ) const
inlinevirtual

◆ getNumRowsLeftToAppend()

common::row_idx_t kuzu::storage::NodeGroup::getNumRowsLeftToAppend ( ) const
inline

◆ hasChanges()

bool kuzu::storage::NodeGroup::hasChanges ( )

◆ initializeScanState() [1/2]

void kuzu::storage::NodeGroup::initializeScanState ( transaction::Transaction * transaction,
const common::UniqLock & lock,
TableScanState & state )

◆ initializeScanState() [2/2]

virtual void kuzu::storage::NodeGroup::initializeScanState ( transaction::Transaction * transaction,
TableScanState & state )
virtual

◆ isDeleted()

bool kuzu::storage::NodeGroup::isDeleted ( const transaction::Transaction * transaction,
common::offset_t offsetInGroup )

◆ isEmpty()

virtual bool kuzu::storage::NodeGroup::isEmpty ( ) const
inlinevirtual

◆ isFull()

bool kuzu::storage::NodeGroup::isFull ( ) const
inline

◆ isInserted()

bool kuzu::storage::NodeGroup::isInserted ( const transaction::Transaction * transaction,
common::offset_t offsetInGroup )

◆ isVisible()

bool kuzu::storage::NodeGroup::isVisible ( const transaction::Transaction * transaction,
common::row_idx_t rowIdxInGroup )

◆ lookup() [1/2]

bool kuzu::storage::NodeGroup::lookup ( const common::UniqLock & lock,
transaction::Transaction * transaction,
const TableScanState & state )

◆ lookup() [2/2]

bool kuzu::storage::NodeGroup::lookup ( transaction::Transaction * transaction,
const TableScanState & state )

◆ merge()

void kuzu::storage::NodeGroup::merge ( transaction::Transaction * transaction,
std::unique_ptr< ChunkedNodeGroup > chunkedGroup )

◆ moveNextRowToAppend()

void kuzu::storage::NodeGroup::moveNextRowToAppend ( common::row_idx_t numRowsToAppend)
inline

◆ scan()

virtual NodeGroupScanResult kuzu::storage::NodeGroup::scan ( transaction::Transaction * transaction,
TableScanState & state )
virtual

◆ serialize()

virtual void kuzu::storage::NodeGroup::serialize ( common::Serializer & serializer)
virtual

◆ update()

void kuzu::storage::NodeGroup::update ( transaction::Transaction * transaction,
common::row_idx_t rowIdxInGroup,
common::column_id_t columnID,
const common::ValueVector & propertyVector )

Member Data Documentation

◆ capacity

common::row_idx_t kuzu::storage::NodeGroup::capacity
protected

◆ chunkedGroups

GroupCollection<ChunkedNodeGroup> kuzu::storage::NodeGroup::chunkedGroups
protected

◆ dataTypes

std::vector<common::LogicalType> kuzu::storage::NodeGroup::dataTypes
protected

◆ enableCompression

bool kuzu::storage::NodeGroup::enableCompression
protected

◆ format

NodeGroupDataFormat kuzu::storage::NodeGroup::format
protected

◆ nextRowToAppend

common::row_idx_t kuzu::storage::NodeGroup::nextRowToAppend
protected

◆ nodeGroupIdx

common::node_group_idx_t kuzu::storage::NodeGroup::nodeGroupIdx
protected

◆ numRows

std::atomic<common::row_idx_t> kuzu::storage::NodeGroup::numRows
protected

The documentation for this class was generated from the following file: