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.
|
#include <TempSet.h>
Protected Member Functions | |
string | encodePath (string tempPath, string setName) |
Additional Inherited Members | |
Protected Attributes inherited from UserSet | |
PartitionedFilePtr | file = nullptr |
PageCachePtr | pageCache = nullptr |
SharedMemPtr | shm |
pdb::PDBLoggerPtr | logger = nullptr |
NodeID | nodeId |
DatabaseID | dbId |
UserTypeID | typeId |
SetID | setId |
string | setName |
PageID | lastFlushedPageId |
PageID | latestPageId |
PDBPagePtr | inputBufferPage = nullptr |
SequenceID | seqId |
unordered_map< PageID, FileSearchKey > * | dirtyPagesInPageCache = nullptr |
pthread_mutex_t | dirtyPageSetMutex |
bool | isPinned = false |
int | numPages |
pthread_mutex_t | addBytesMutex |
size_t | pageSize |
bool | isSorted = false |
bool | isPartitioned = false |
Protected Attributes inherited from LocalitySet | |
list< PDBPagePtr > * | cachedPages |
LocalityType | localityType |
LocalitySetReplacementPolicy | replacementPolicy |
OperationType | operationType |
DurabilityType | durabilityType |
PersistenceType | persistenceType |
bool | lifetimeEnded |
This class wraps a temporary set. The set is created per request of backend, and managed by local storage for creation, data insertion, flushing, loading and removal.
TempSet::TempSet | ( | SetID | setId, |
string | setName, | ||
string | metaTempPath, | ||
vector< string > | dataTempPaths, | ||
SharedMemPtr | shm, | ||
PageCachePtr | cache, | ||
pdb::PDBLoggerPtr | logger, | ||
LocalityType | localityType = ShuffleData , |
||
LocalitySetReplacementPolicy | policy = MRU , |
||
OperationType | operation = Write , |
||
DurabilityType | durability = TryCache , |
||
PersistenceType | persistence = Transient , |
||
size_t | pageSize = DEFAULT_PAGE_SIZE |
||
) |
Create a TempSet instance. All TempSets are stored in Database with DatabaseID = 0, and in UserType with UserTypeID = 0.
Definition at line 30 of file TempSet.cc.
TempSet::~TempSet | ( | ) |
Definition at line 74 of file TempSet.cc.
void TempSet::clear | ( | ) |
Clear temp set and all related files;
Definition at line 77 of file TempSet.cc.
|
protected |
Compute the path to store the set data.
Definition at line 81 of file TempSet.cc.