45 :
LocalitySet(localityType, policy, operation, durability, persistence) {
83 :
LocalitySet(localityType, policy, operation, durability, persistence) {
93 if (this->file->getNumFlushedPages() == 0) {
100 this->file->openAll();
106 this->
numPages = this->file->getNumFlushedPages();
107 cout <<
"Number of existing pages = " << this->
numPages << endl;
127 unsigned int pageSeqInPartition,
136 this->
file, partitionId, pageSeqInPartition, pageId,
false,
this);
147 if (page ==
nullptr) {
177 vector<PageIteratorPtr>* retVec =
new vector<PageIteratorPtr>();
181 iterator = make_shared<SetCachePageIterator>(this->
pageCache,
this);
182 if (iterator !=
nullptr) {
183 retVec->push_back(iterator);
190 retVec->push_back(iterator);
195 for (i = 0; i < numPartitions; i++) {
196 if (partitionedFile->getMetaData()->getPartition(i)->getNumPages() > 0) {
197 PDB_COUT <<
"numpages in partition:" << i <<
" ="
198 << partitionedFile->getMetaData()->getPartition(i)->getNumPages()
200 iterator = make_shared<PartitionPageIterator>(
202 retVec->push_back(iterator);
213 vector<PageIteratorPtr>* iterators = this->
getIterators();
214 int numIterators = iterators->size();
217 for (i = 0; i < numIterators; i++) {
219 while (curIter->hasNext()) {
221 if (curPage !=
nullptr) {
222 memcpy(cur, curPage->getRawBytes(), curPage->getRawSize());
223 cur = cur + curPage->getRawSize();
224 curPage->decRefCount();
234 vector<PageIteratorPtr>* iterators = this->
getIterators();
235 int numIterators = iterators->size();
237 for (i = 0; i < numIterators; i++) {
239 while (curIter->hasNext()) {
241 if (curPage !=
nullptr) {
246 key.
pageId = curPage->getPageID();
247 curPage->resetRefCount();
261 if (iter->second.inCache ==
false) {
274 if (iter->second.inCache ==
true) {
280 this->
pageCache->flushPageWithoutEviction(key);
PDBPagePtr addPageByRawBytes(size_t sharedMemOffset)
shared_ptr< PDBPage > PDBPagePtr
virtual vector< PageIteratorPtr > * getIterators()
UserSet(pdb::PDBLoggerPtr logger, SharedMemPtr shm, NodeID nodeId, DatabaseID dbId, UserTypeID typeId, SetID setId, string setName, PageCachePtr pageCache, LocalityType localityType=JobData, LocalitySetReplacementPolicy policy=MRU, OperationType operation=Read, DurabilityType durability=TryCache, PersistenceType persistence=Persistent, size_t pageSize=DEFAULT_PAGE_SIZE)
shared_ptr< PageCache > PageCachePtr
shared_ptr< PageIteratorInterface > PageIteratorPtr
PDBPagePtr getPage(FilePartitionID partitionId, unsigned int pageSeqInPartition, PageID pageId)
unsigned int getNumPartitions()
LocalitySetReplacementPolicy
shared_ptr< PartitionedFile > PartitionedFilePtr
shared_ptr< SharedMem > SharedMemPtr
PDBPagePtr inputBufferPage
void initialize(unsigned int currentID)
unordered_map< PageID, FileSearchKey > * dirtyPagesInPageCache
pthread_mutex_t addBytesMutex
void addPageToDirtyPageSet(PageID pageId)
void setPinned(bool isPinned)
unsigned int getNextSequenceID()
pthread_mutex_t dirtyPageSetMutex
std::shared_ptr< PDBLogger > PDBLoggerPtr
void unlockDirtyPageSet()
unordered_map< PageID, FileSearchKey > * getDirtyPageSet()
unsigned int FilePartitionID
shared_ptr< SequenceFile > SequenceFilePtr