A platform for high-performance distributed tool and library development written in C++. It can be deployed in two different cluster modes: standalone or distributed. API for v0.5.0, released on June 13, 2018.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
PDBFileInterface Class Referenceabstract

#include <PDBFile.h>

+ Inheritance diagram for PDBFileInterface:
+ Collaboration diagram for PDBFileInterface:

Public Member Functions

virtual ~PDBFileInterface ()
 
virtual bool openAll ()=0
 
virtual bool closeAll ()=0
 
virtual void clear ()=0
 
virtual int appendPage (FilePartitionID partitionId, PDBPagePtr page)=0
 
virtual int writeMeta ()=0
 
virtual int updateMeta ()=0
 
virtual size_t loadPage (FilePartitionID partitionId, unsigned int pageSeqInPartition, char *pageInCache, size_t length)=0
 
virtual unsigned int getAndSetNumFlushedPages ()=0
 
virtual unsigned int getNumFlushedPages ()=0
 
virtual NodeID getNodeId ()=0
 
virtual DatabaseID getDbId ()=0
 
virtual UserTypeID getTypeId ()=0
 
virtual SetID getSetId ()=0
 
virtual PageID getLastFlushedPageID ()=0
 
virtual PageID getLatestPageID ()=0
 
virtual size_t getPageSize ()=0
 
virtual size_t getPageSizeInMeta ()=0
 
virtual FileType getFileType ()=0
 

Detailed Description

This class wraps an interface to implement different kinds of disk file formats for data persistence.

Definition at line 36 of file PDBFile.h.

Constructor & Destructor Documentation

virtual PDBFileInterface::~PDBFileInterface ( )
inlinevirtual

Definition at line 41 of file PDBFile.h.

Member Function Documentation

virtual int PDBFileInterface::appendPage ( FilePartitionID  partitionId,
PDBPagePtr  page 
)
pure virtual

To append page to a file.

Implemented in PartitionedFile, and SequenceFile.

virtual void PDBFileInterface::clear ( )
pure virtual

To delete a file.

Implemented in PartitionedFile, and SequenceFile.

virtual bool PDBFileInterface::closeAll ( )
pure virtual

To close a file.

Implemented in PartitionedFile, and SequenceFile.

virtual unsigned int PDBFileInterface::getAndSetNumFlushedPages ( )
pure virtual

To set and return total number of flushed pages;

Implemented in PartitionedFile, and SequenceFile.

virtual DatabaseID PDBFileInterface::getDbId ( )
pure virtual

To return DatabaseID associated with the file.

Implemented in PartitionedFile, and SequenceFile.

virtual FileType PDBFileInterface::getFileType ( )
pure virtual

To return the file type of the file: SequenceFile or PartitionedFile

Implemented in PartitionedFile, and SequenceFile.

virtual PageID PDBFileInterface::getLastFlushedPageID ( )
pure virtual

To return the PageID of last page flushed to the file.

Implemented in PartitionedFile, and SequenceFile.

virtual PageID PDBFileInterface::getLatestPageID ( )
pure virtual

To return the PageID of latest page.

Implemented in PartitionedFile, and SequenceFile.

virtual NodeID PDBFileInterface::getNodeId ( )
pure virtual

To return NodeID associated with the file.

Implemented in PartitionedFile, and SequenceFile.

virtual unsigned int PDBFileInterface::getNumFlushedPages ( )
pure virtual

To return total number of flushed pages.

Implemented in PartitionedFile, and SequenceFile.

virtual size_t PDBFileInterface::getPageSize ( )
pure virtual

To return page size of the file

Implemented in PartitionedFile, and SequenceFile.

virtual size_t PDBFileInterface::getPageSizeInMeta ( )
pure virtual

To return page size of the file by looking into the meta data.

Implemented in PartitionedFile, and SequenceFile.

virtual SetID PDBFileInterface::getSetId ( )
pure virtual

To return SetID associated with the file.

Implemented in PartitionedFile, and SequenceFile.

virtual UserTypeID PDBFileInterface::getTypeId ( )
pure virtual

To return UserTypeID associated with the file.

Implemented in PartitionedFile, and SequenceFile.

virtual size_t PDBFileInterface::loadPage ( FilePartitionID  partitionId,
unsigned int  pageSeqInPartition,
char *  pageInCache,
size_t  length 
)
pure virtual

To load a page from the file partition to cache. If the file is of SequenceFile type, set the partitionId = 0;

Implemented in PartitionedFile, and SequenceFile.

virtual bool PDBFileInterface::openAll ( )
pure virtual

To open a file.

Implemented in PartitionedFile, and SequenceFile.

virtual int PDBFileInterface::updateMeta ( )
pure virtual

To update meta data of a file

Implemented in PartitionedFile, and SequenceFile.

virtual int PDBFileInterface::writeMeta ( )
pure virtual

To initialize meta data of a file.

Implemented in PartitionedFile, and SequenceFile.


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