You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
Reformat all code to coding standard
This commit is contained in:
@ -40,322 +40,386 @@ namespace WriteEngine
|
||||
class IndexList : public DbFileOp
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* @brief Constructor
|
||||
*/
|
||||
IndexList();
|
||||
//IndexList(FILE* pFile, IdxEmptyListEntry* newHeaderListPtr);
|
||||
/**
|
||||
* @brief Default Destructor
|
||||
*/
|
||||
~IndexList(){};
|
||||
/**
|
||||
* @brief Constructor
|
||||
*/
|
||||
IndexList();
|
||||
//IndexList(FILE* pFile, IdxEmptyListEntry* newHeaderListPtr);
|
||||
/**
|
||||
* @brief Default Destructor
|
||||
*/
|
||||
~IndexList() {};
|
||||
|
||||
/**
|
||||
* @brief Public index List related functions
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief Add a 4 bytes header for a rowid, key in the index list
|
||||
*/
|
||||
const int addIndexListHdr( FILE* pFile, const RID& listRid, const uint64_t& key,
|
||||
IdxEmptyListEntry* newHeaderListPtr );
|
||||
|
||||
const int addIndexListHdr( CommBlock& cbList, const RID& listRid, const uint64_t& key,
|
||||
IdxEmptyListEntry* newHeaderListPtr )
|
||||
{
|
||||
m_oid = cbList.file.oid; m_pFile = cbList.file.pFile;
|
||||
int rc = addIndexListHdr( m_pFile, listRid, key, newHeaderListPtr);
|
||||
return rc;
|
||||
}
|
||||
const int addIndexListHdr( FILE* pFile, const RID* ridList, const int size, const uint64_t& key,
|
||||
IdxEmptyListEntry* newHeaderListPtr );
|
||||
|
||||
const int addIndexListHdr( CommBlock& cbList, RID* ridList, int& size, const uint64_t& key,
|
||||
IdxEmptyListEntry* newHeaderListPtr )
|
||||
{
|
||||
m_oid = cbList.file.oid; m_pFile = cbList.file.pFile;
|
||||
int rc = addIndexListHdr( m_pFile, ridList, size, key, newHeaderListPtr);
|
||||
return rc;
|
||||
/**
|
||||
* @brief Public index List related functions
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief Add a 4 bytes header for a rowid, key in the index list
|
||||
*/
|
||||
const int addIndexListHdr( FILE* pFile, const RID& listRid, const uint64_t& key,
|
||||
IdxEmptyListEntry* newHeaderListPtr );
|
||||
|
||||
const int addIndexListHdr( CommBlock& cbList, const RID& listRid, const uint64_t& key,
|
||||
IdxEmptyListEntry* newHeaderListPtr )
|
||||
{
|
||||
m_oid = cbList.file.oid;
|
||||
m_pFile = cbList.file.pFile;
|
||||
int rc = addIndexListHdr( m_pFile, listRid, key, newHeaderListPtr);
|
||||
return rc;
|
||||
}
|
||||
const int addIndexListHdr( FILE* pFile, const RID* ridList, const int size, const uint64_t& key,
|
||||
IdxEmptyListEntry* newHeaderListPtr );
|
||||
|
||||
const int addIndexListHdr( CommBlock& cbList, RID* ridList, int& size, const uint64_t& key,
|
||||
IdxEmptyListEntry* newHeaderListPtr )
|
||||
{
|
||||
m_oid = cbList.file.oid;
|
||||
m_pFile = cbList.file.pFile;
|
||||
int rc = addIndexListHdr( m_pFile, ridList, size, key, newHeaderListPtr);
|
||||
return rc;
|
||||
}
|
||||
const int addIndexListHdr( CommBlock& cbList, const IdxMultiRid& multiRids,
|
||||
const uint64_t& key, IdxEmptyListEntry* newHeaderListPtr)
|
||||
{
|
||||
m_oid = cbList.file.oid; m_pFile = cbList.file.pFile;
|
||||
int size = multiRids.totalRid;
|
||||
return addIndexListHdr( m_pFile, multiRids.ridArray, size,
|
||||
key, newHeaderListPtr );
|
||||
m_oid = cbList.file.oid;
|
||||
m_pFile = cbList.file.pFile;
|
||||
int size = multiRids.totalRid;
|
||||
return addIndexListHdr( m_pFile, multiRids.ridArray, size,
|
||||
key, newHeaderListPtr );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Update the indexlist when a new rowid an key inserted
|
||||
*/
|
||||
const int updateIndexList( FILE* pFile, const RID& listRid, const uint64_t& key,
|
||||
IdxEmptyListEntry* oldHeaderListPtr );
|
||||
|
||||
const int updateIndexList( CommBlock& cbList, const RID& listRid, const uint64_t& key,
|
||||
IdxEmptyListEntry* oldHeaderListPtr )
|
||||
{
|
||||
m_oid = cbList.file.oid; m_pFile = cbList.file.pFile;
|
||||
|
||||
int rc = updateIndexList( m_pFile, listRid, key, oldHeaderListPtr);
|
||||
return rc;
|
||||
};
|
||||
|
||||
const int updateIndexList( FILE* pFile, const RID* ridList, const int size,const uint64_t& key,
|
||||
IdxEmptyListEntry* oldHeaderListPtr );
|
||||
const int updateIndexList( CommBlock& cbList, const RID* ridList, const int size,const uint64_t& key,
|
||||
IdxEmptyListEntry* oldHeaderListPtr )
|
||||
{
|
||||
m_oid = cbList.file.oid; m_pFile = cbList.file.pFile;
|
||||
|
||||
int rc = updateIndexList( m_pFile, ridList, size,key, oldHeaderListPtr);
|
||||
return rc;
|
||||
}
|
||||
const int updateIndexList( CommBlock& cbList, const IdxMultiRid& multiRids,
|
||||
const uint64_t& key, IdxEmptyListEntry* oldHeaderListPtr)
|
||||
{
|
||||
return updateIndexList( cbList, multiRids.ridArray, multiRids.totalRid,
|
||||
key, oldHeaderListPtr );
|
||||
}
|
||||
/**
|
||||
* @brief Update the indexlist when a new rowid an key inserted
|
||||
*/
|
||||
const int updateIndexList( FILE* pFile, const RID& listRid, const uint64_t& key,
|
||||
IdxEmptyListEntry* oldHeaderListPtr );
|
||||
|
||||
/**
|
||||
* @brief Delete the rowid in the key indexlist
|
||||
*/
|
||||
const int deleteIndexList( FILE* pFile, const RID& listRid, const uint64_t& key,
|
||||
IdxEmptyListEntry* oldHeaderListPtr );
|
||||
|
||||
const int deleteIndexList( CommBlock& cbList, const RID& listRid, const uint64_t& key,
|
||||
IdxEmptyListEntry* oldHeaderListPtr )
|
||||
{
|
||||
m_oid = cbList.file.oid ; m_pFile = cbList.file.pFile;
|
||||
|
||||
int rc = deleteIndexList( m_pFile, listRid, key, oldHeaderListPtr );
|
||||
return rc;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief delete a row id from the key index list and return the location
|
||||
*/
|
||||
const int deleteIndexList( FILE* pFile, const RID& listRid, const uint64_t& key,
|
||||
IdxEmptyListEntry* oldHeaderListPtr,
|
||||
uint64_t& lbid, int& sbid, int& entry );
|
||||
|
||||
const int deleteIndexList( CommBlock& cbList, const RID& listRid,
|
||||
const uint64_t& key,
|
||||
const int updateIndexList( CommBlock& cbList, const RID& listRid, const uint64_t& key,
|
||||
IdxEmptyListEntry* oldHeaderListPtr )
|
||||
{
|
||||
m_oid = cbList.file.oid;
|
||||
m_pFile = cbList.file.pFile;
|
||||
|
||||
int rc = updateIndexList( m_pFile, listRid, key, oldHeaderListPtr);
|
||||
return rc;
|
||||
};
|
||||
|
||||
const int updateIndexList( FILE* pFile, const RID* ridList, const int size, const uint64_t& key,
|
||||
IdxEmptyListEntry* oldHeaderListPtr );
|
||||
const int updateIndexList( CommBlock& cbList, const RID* ridList, const int size, const uint64_t& key,
|
||||
IdxEmptyListEntry* oldHeaderListPtr )
|
||||
{
|
||||
m_oid = cbList.file.oid;
|
||||
m_pFile = cbList.file.pFile;
|
||||
|
||||
int rc = updateIndexList( m_pFile, ridList, size, key, oldHeaderListPtr);
|
||||
return rc;
|
||||
}
|
||||
const int updateIndexList( CommBlock& cbList, const IdxMultiRid& multiRids,
|
||||
const uint64_t& key, IdxEmptyListEntry* oldHeaderListPtr)
|
||||
{
|
||||
return updateIndexList( cbList, multiRids.ridArray, multiRids.totalRid,
|
||||
key, oldHeaderListPtr );
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Delete the rowid in the key indexlist
|
||||
*/
|
||||
const int deleteIndexList( FILE* pFile, const RID& listRid, const uint64_t& key,
|
||||
IdxEmptyListEntry* oldHeaderListPtr );
|
||||
|
||||
const int deleteIndexList( CommBlock& cbList, const RID& listRid, const uint64_t& key,
|
||||
IdxEmptyListEntry* oldHeaderListPtr )
|
||||
{
|
||||
m_oid = cbList.file.oid ;
|
||||
m_pFile = cbList.file.pFile;
|
||||
|
||||
int rc = deleteIndexList( m_pFile, listRid, key, oldHeaderListPtr );
|
||||
return rc;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief delete a row id from the key index list and return the location
|
||||
*/
|
||||
const int deleteIndexList( FILE* pFile, const RID& listRid, const uint64_t& key,
|
||||
IdxEmptyListEntry* oldHeaderListPtr,
|
||||
uint64_t& lbid, int& sbid, int& entry );
|
||||
|
||||
const int deleteIndexList( CommBlock& cbList, const RID& listRid,
|
||||
const uint64_t& key,
|
||||
IdxEmptyListEntry* oldHeaderListPtr,
|
||||
uint64_t& lbid, int& sbid, int& entry )
|
||||
{
|
||||
m_oid = cbList.file.oid ; m_pFile = cbList.file.pFile;
|
||||
int rc = deleteIndexList( m_pFile, listRid, key,
|
||||
oldHeaderListPtr,
|
||||
lbid, sbid, entry);
|
||||
return rc;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief find a row id from the key index list and return the location
|
||||
*/
|
||||
{
|
||||
m_oid = cbList.file.oid ;
|
||||
m_pFile = cbList.file.pFile;
|
||||
int rc = deleteIndexList( m_pFile, listRid, key,
|
||||
oldHeaderListPtr,
|
||||
lbid, sbid, entry);
|
||||
return rc;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief find a row id from the key index list and return the location
|
||||
*/
|
||||
bool findRowId(FILE* pFile, const RID& rid, const uint64_t& key,
|
||||
IdxEmptyListEntry* oldIdxRidListHdrPtr,
|
||||
uint64_t& lbid, int& sbid, int& entry);
|
||||
|
||||
|
||||
bool findRowId(CommBlock& cbList, const RID& rid, const uint64_t& key,
|
||||
IdxEmptyListEntry* oldIdxRidListHdrPtr,
|
||||
uint64_t& lbid, int& sbid, int& entry)
|
||||
{ m_oid = cbList.file.oid ; m_pFile = cbList.file.pFile;
|
||||
|
||||
bool found =findRowId(m_pFile, rid, key,
|
||||
oldIdxRidListHdrPtr,lbid,
|
||||
sbid, entry);
|
||||
return found;
|
||||
};
|
||||
/**
|
||||
* @brief get the total row ids or tokens from the index list header
|
||||
*/
|
||||
const int getRIDArrayFromListHdr(FILE* pFile, uint64_t& key,
|
||||
IdxEmptyListEntry* oldHeaderListPtr,
|
||||
RID* ridArrary, int& size);
|
||||
|
||||
const int getRIDArrayFromListHdr(CommBlock& cbList, uint64_t& key,
|
||||
IdxEmptyListEntry* oldHeaderListPtr,
|
||||
RID* ridArrary, int& size)
|
||||
{ m_oid = cbList.file.oid ; m_pFile = cbList.file.pFile;
|
||||
int rc = getRIDArrayFromListHdr(m_pFile, key,
|
||||
oldHeaderListPtr,
|
||||
ridArrary, size);
|
||||
return rc;
|
||||
};
|
||||
const int getRIDArrayFromListHdrNarray(FILE* pFile, uint64_t& key,
|
||||
IdxEmptyListEntry* curIdxRidListHdrPtr,
|
||||
RID* ridArray, int& size, bool flag);
|
||||
const int getRIDArrayFromListHdrNarray(CommBlock& cbList, uint64_t& key,
|
||||
IdxEmptyListEntry* oldHeaderListPtr,
|
||||
RID* ridArrary, int& size, bool flag)
|
||||
{ m_oid = cbList.file.oid ; m_pFile = cbList.file.pFile;
|
||||
int rc = getRIDArrayFromListHdrNarray(m_pFile, key,
|
||||
oldHeaderListPtr,
|
||||
ridArrary, size, flag);
|
||||
return rc;
|
||||
};
|
||||
|
||||
|
||||
const int init (CommBlock& cbList, const int& freemgr_type)
|
||||
{
|
||||
m_oid = cbList.file.oid ; m_pFile = cbList.file.pFile;
|
||||
int rc = m_freemgr.init(cbList,freemgr_type);
|
||||
return rc;
|
||||
};
|
||||
const int closeList(){int rc = updateIndexListWrite(); return rc;}
|
||||
void setTransId( const TxnID txnId ) {FileOp::setTransId( txnId );m_freemgr.setTransId(txnId);}
|
||||
IdxRidListHdr m_curIdxRidListHdr; /**@brief current list header */
|
||||
const int getHdrInfo(IdxEmptyListEntry* curIdxRidListHdrPtr);
|
||||
const int getHdrInfo(IdxEmptyListEntry* curIdxRidListHdrPtr, IdxRidListHdr* idxRidListHdr)
|
||||
{ int rc= 0; rc =getHdrInfo(curIdxRidListHdrPtr);
|
||||
memcpy(idxRidListHdr, &m_curIdxRidListHdr, LIST_HDR_SIZE);
|
||||
return rc;
|
||||
}
|
||||
/**
|
||||
* @brief Timer functions
|
||||
*/
|
||||
void startTimer() { time( &m_startTime ); }
|
||||
void stopTimer() { time( &m_endTime ); m_totalTime = difftime( m_endTime, m_startTime); }
|
||||
double getTotalRunTime() const { return m_totalTime; }
|
||||
void setDebugLevel(const DebugLevel level){m_freemgr.setDebugLevel(level);}
|
||||
void setUseSortFlag(const bool flag){m_useSortFlag = flag;}
|
||||
|
||||
void startfTimer(){ftime(&t_start);};
|
||||
void stopfTimer(){ftime(&t_current);};
|
||||
int getTotalfRunTime()
|
||||
{int t_diff;
|
||||
t_diff= (int) (1000.0 * (t_current.time - t_start.time)+ (t_current.millitm - t_start.millitm));
|
||||
return t_diff;}
|
||||
/**
|
||||
* @brief Private index List member functions
|
||||
*/
|
||||
const int updateIndexListWrite();
|
||||
const int init();
|
||||
const int initBlksGetHdrBlk();
|
||||
const int initGetHdr(const uint64_t &key, IdxEmptyListEntry* curIdxRidListHdrPtr);
|
||||
const int resetBlk(DataBlock* dataBlk) ;
|
||||
const int resetBlkZero(uint64_t& lbid0);
|
||||
const int writeBlkZero(uint64_t& lbid0);
|
||||
IdxEmptyListEntry* oldIdxRidListHdrPtr,
|
||||
uint64_t& lbid, int& sbid, int& entry)
|
||||
{
|
||||
m_oid = cbList.file.oid ;
|
||||
m_pFile = cbList.file.pFile;
|
||||
|
||||
bool found = findRowId(m_pFile, rid, key,
|
||||
oldIdxRidListHdrPtr, lbid,
|
||||
sbid, entry);
|
||||
return found;
|
||||
};
|
||||
/**
|
||||
* @brief get the total row ids or tokens from the index list header
|
||||
*/
|
||||
const int getRIDArrayFromListHdr(FILE* pFile, uint64_t& key,
|
||||
IdxEmptyListEntry* oldHeaderListPtr,
|
||||
RID* ridArrary, int& size);
|
||||
|
||||
const int getRIDArrayFromListHdr(CommBlock& cbList, uint64_t& key,
|
||||
IdxEmptyListEntry* oldHeaderListPtr,
|
||||
RID* ridArrary, int& size)
|
||||
{
|
||||
m_oid = cbList.file.oid ;
|
||||
m_pFile = cbList.file.pFile;
|
||||
int rc = getRIDArrayFromListHdr(m_pFile, key,
|
||||
oldHeaderListPtr,
|
||||
ridArrary, size);
|
||||
return rc;
|
||||
};
|
||||
const int getRIDArrayFromListHdrNarray(FILE* pFile, uint64_t& key,
|
||||
IdxEmptyListEntry* curIdxRidListHdrPtr,
|
||||
RID* ridArray, int& size, bool flag);
|
||||
const int getRIDArrayFromListHdrNarray(CommBlock& cbList, uint64_t& key,
|
||||
IdxEmptyListEntry* oldHeaderListPtr,
|
||||
RID* ridArrary, int& size, bool flag)
|
||||
{
|
||||
m_oid = cbList.file.oid ;
|
||||
m_pFile = cbList.file.pFile;
|
||||
int rc = getRIDArrayFromListHdrNarray(m_pFile, key,
|
||||
oldHeaderListPtr,
|
||||
ridArrary, size, flag);
|
||||
return rc;
|
||||
};
|
||||
|
||||
|
||||
const int init (CommBlock& cbList, const int& freemgr_type)
|
||||
{
|
||||
m_oid = cbList.file.oid ;
|
||||
m_pFile = cbList.file.pFile;
|
||||
int rc = m_freemgr.init(cbList, freemgr_type);
|
||||
return rc;
|
||||
};
|
||||
const int closeList()
|
||||
{
|
||||
int rc = updateIndexListWrite();
|
||||
return rc;
|
||||
}
|
||||
void setTransId( const TxnID txnId )
|
||||
{
|
||||
FileOp::setTransId( txnId );
|
||||
m_freemgr.setTransId(txnId);
|
||||
}
|
||||
IdxRidListHdr m_curIdxRidListHdr; /**@brief current list header */
|
||||
const int getHdrInfo(IdxEmptyListEntry* curIdxRidListHdrPtr);
|
||||
const int getHdrInfo(IdxEmptyListEntry* curIdxRidListHdrPtr, IdxRidListHdr* idxRidListHdr)
|
||||
{
|
||||
int rc = 0;
|
||||
rc = getHdrInfo(curIdxRidListHdrPtr);
|
||||
memcpy(idxRidListHdr, &m_curIdxRidListHdr, LIST_HDR_SIZE);
|
||||
return rc;
|
||||
}
|
||||
/**
|
||||
* @brief Timer functions
|
||||
*/
|
||||
void startTimer()
|
||||
{
|
||||
time( &m_startTime );
|
||||
}
|
||||
void stopTimer()
|
||||
{
|
||||
time( &m_endTime );
|
||||
m_totalTime = difftime( m_endTime, m_startTime);
|
||||
}
|
||||
double getTotalRunTime() const
|
||||
{
|
||||
return m_totalTime;
|
||||
}
|
||||
void setDebugLevel(const DebugLevel level)
|
||||
{
|
||||
m_freemgr.setDebugLevel(level);
|
||||
}
|
||||
void setUseSortFlag(const bool flag)
|
||||
{
|
||||
m_useSortFlag = flag;
|
||||
}
|
||||
|
||||
void startfTimer()
|
||||
{
|
||||
ftime(&t_start);
|
||||
};
|
||||
void stopfTimer()
|
||||
{
|
||||
ftime(&t_current);
|
||||
};
|
||||
int getTotalfRunTime()
|
||||
{
|
||||
int t_diff;
|
||||
t_diff = (int) (1000.0 * (t_current.time - t_start.time) + (t_current.millitm - t_start.millitm));
|
||||
return t_diff;
|
||||
}
|
||||
/**
|
||||
* @brief Private index List member functions
|
||||
*/
|
||||
const int updateIndexListWrite();
|
||||
const int init();
|
||||
const int initBlksGetHdrBlk();
|
||||
const int initGetHdr(const uint64_t& key, IdxEmptyListEntry* curIdxRidListHdrPtr);
|
||||
const int resetBlk(DataBlock* dataBlk) ;
|
||||
const int resetBlkZero(uint64_t& lbid0);
|
||||
const int writeBlkZero(uint64_t& lbid0);
|
||||
|
||||
const int setLastLbid( uint64_t& lastLbid);
|
||||
const int getLastLbid();
|
||||
|
||||
const int findLastBlk(int& count);
|
||||
const int readCurBlk();
|
||||
const int writeCurBlk();
|
||||
const int addRidInBlk( const RID& newRid);
|
||||
const int insertRid(const RID& newRid, int& pos);
|
||||
const int updateCurCount(int frequency = 1);
|
||||
const int getNextInfo(int& count);
|
||||
const int getNextInfoFromBlk( IdxRidListPtr& idxRidListPtr);
|
||||
const int getNextInfoFromBlk()
|
||||
{
|
||||
return getNextInfoFromBlk(m_lastIdxRidListPtr);
|
||||
};
|
||||
const int getLastFboPtr(uint64_t& lbid, int& sbid, IdxRidListPtr& lastFboListPtr);
|
||||
const int setLastFboPtr(uint64_t& lbid, int& sbid, IdxRidListPtr& lastFboListPtr);
|
||||
const int setNextInfoFromBlk( IdxRidListPtr& idxRidListPtr);
|
||||
const int setNarray(bool flag)
|
||||
{
|
||||
m_useNarray = flag;
|
||||
return NO_ERROR;
|
||||
};
|
||||
const int findFirstBlk(FILE* pFile, const uint64_t& key,
|
||||
IdxEmptyListEntry* curIdxRidListHdrPtr,
|
||||
uint64_t& lbid);
|
||||
bool getUseNarray()
|
||||
{
|
||||
return m_useNarray;
|
||||
};
|
||||
const int printBlocks(uint64_t& lbid);
|
||||
const int getBlk(uint64_t& lbid);
|
||||
const int getSubBlk();
|
||||
const int getSubBlk(uint64_t& lbid, int& sbid, int& entry);
|
||||
|
||||
const int setLastLbid( uint64_t& lastLbid);
|
||||
const int getLastLbid();
|
||||
|
||||
const int findLastBlk(int& count);
|
||||
const int readCurBlk();
|
||||
const int writeCurBlk();
|
||||
const int addRidInBlk( const RID& newRid);
|
||||
const int insertRid(const RID& newRid, int& pos);
|
||||
const int updateCurCount(int frequency =1);
|
||||
const int getNextInfo(int& count);
|
||||
const int getNextInfoFromBlk( IdxRidListPtr& idxRidListPtr);
|
||||
const int getNextInfoFromBlk(){return getNextInfoFromBlk(m_lastIdxRidListPtr); };
|
||||
const int getLastFboPtr(uint64_t& lbid, int& sbid, IdxRidListPtr& lastFboListPtr);
|
||||
const int setLastFboPtr(uint64_t& lbid, int& sbid, IdxRidListPtr& lastFboListPtr);
|
||||
const int setNextInfoFromBlk( IdxRidListPtr& idxRidListPtr);
|
||||
const int setNarray(bool flag){m_useNarray= flag; return NO_ERROR;};
|
||||
const int findFirstBlk(FILE* pFile, const uint64_t& key,
|
||||
IdxEmptyListEntry* curIdxRidListHdrPtr,
|
||||
uint64_t& lbid);
|
||||
bool getUseNarray(){return m_useNarray;};
|
||||
const int printBlocks(uint64_t& lbid);
|
||||
const int getBlk(uint64_t& lbid);
|
||||
const int getSubBlk();
|
||||
const int getSubBlk(uint64_t& lbid, int& sbid, int& entry);
|
||||
|
||||
|
||||
private:
|
||||
struct timeb t_start, t_current;
|
||||
const int getLastFbo();
|
||||
struct timeb t_start, t_current;
|
||||
const int getLastFbo();
|
||||
const int setLastFbo(int* fbo);
|
||||
//const int addRidList(RID* ridList, int & size);
|
||||
/**
|
||||
* @brief get a segment from freemanager
|
||||
*/
|
||||
const int getSegment( FILE* pfile, const IdxTreeGroupType segmentType,
|
||||
IdxEmptyListEntry* assignPtr );
|
||||
/**
|
||||
* @brief insert a rowid into the key index list
|
||||
*/
|
||||
const int updateIndexList( const RID& listRid, const uint64_t& key,
|
||||
/**
|
||||
* @brief get a segment from freemanager
|
||||
*/
|
||||
const int getSegment( FILE* pfile, const IdxTreeGroupType segmentType,
|
||||
IdxEmptyListEntry* assignPtr );
|
||||
/**
|
||||
* @brief insert a rowid into the key index list
|
||||
*/
|
||||
const int updateIndexList( const RID& listRid, const uint64_t& key,
|
||||
uint64_t& startLbid, int& startSbid, int& startEntry,
|
||||
uint64_t& endLbid, int& endSbid, int& endEntry
|
||||
);
|
||||
|
||||
/**
|
||||
* @brief insert a rowid into the key index list
|
||||
*/
|
||||
const int updateIndexList( const RID& listRid, const uint64_t& key);
|
||||
);
|
||||
|
||||
/**
|
||||
* @brief insert a rowid into the key index list
|
||||
*/
|
||||
const int updateIndexList( const RID& listRid, const uint64_t& key);
|
||||
const int updateIndexList( const RID* ridList, const int size, int& startPos);
|
||||
const int addRid(const RID& newRid, IdxRidListPtr& lastIdxRidListPtr);
|
||||
const int addRidList(const RID* ridList, const int size, int& startPos);
|
||||
/**
|
||||
* @brief write all of the blocks in the same time at the end
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief add a new subblock segment to the linked list
|
||||
*/
|
||||
const int addNextIdxRidList(FILE* pFile, const RID& rowId,
|
||||
IdxEmptyListEntry* newIdxListEntryPtr);
|
||||
/**
|
||||
* @brief find a row id from the key index list and return the location
|
||||
*/
|
||||
bool findRowId( const RID& rowId,const uint64_t& key, uint64_t& lbid, int& sbid, int& entry);
|
||||
/**
|
||||
* @brief delete a row id from the key index list
|
||||
*/
|
||||
/**
|
||||
* @brief write all of the blocks in the same time at the end
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief add a new subblock segment to the linked list
|
||||
*/
|
||||
const int addNextIdxRidList(FILE* pFile, const RID& rowId,
|
||||
IdxEmptyListEntry* newIdxListEntryPtr);
|
||||
/**
|
||||
* @brief find a row id from the key index list and return the location
|
||||
*/
|
||||
bool findRowId( const RID& rowId, const uint64_t& key, uint64_t& lbid, int& sbid, int& entry);
|
||||
/**
|
||||
* @brief delete a row id from the key index list
|
||||
*/
|
||||
const int deleteIndexList( const RID& rowId, const uint64_t& key);
|
||||
/**
|
||||
* @brief delete a row id from the key index list and return a location
|
||||
*/
|
||||
|
||||
const int deleteIndexList(const RID& rowId,
|
||||
const uint64_t& key,
|
||||
uint64_t& lbid, int&sbid, int& entry);
|
||||
/**
|
||||
* @brief insert a new row id to the key index list
|
||||
*/
|
||||
const int updateIdxRidList(const RID& rid, DataBlock* dataBlock,
|
||||
const int& sbid, const int& entry,
|
||||
IdxRidListPtr* idxRidListPtr);
|
||||
|
||||
const int deleteInSub( const RID& rowId) ;
|
||||
const int deleteInBlock(const RID& newRid);
|
||||
const int releaseSegment() ;
|
||||
void setListOid(const OID& listOid){m_oid = listOid;}
|
||||
const OID getListOid(){return m_oid;}
|
||||
const int insertRowId( uint64_t& curLbid, int& pos, uint64_t& parentLbid);
|
||||
const int setupBlock ( uint64_t& curLbid, int& pos, uint64_t& parentLbid);
|
||||
/**
|
||||
* @brief delete a row id from the key index list and return a location
|
||||
*/
|
||||
|
||||
const int updateHdrSub(const RID& newRid, const uint64_t &key);
|
||||
const int addRidInSub(const RID& newRid,
|
||||
IdxRidListPtr& lastIdxRidListPtr);
|
||||
const int moveRidsToNewSub(FILE* pFile, const RID& oldRid,
|
||||
const RID& newRid,
|
||||
IdxEmptyListEntry* newIdxListEntryPtr);
|
||||
const int updateHdrCount();
|
||||
const int deleteIndexList(const RID& rowId,
|
||||
const uint64_t& key,
|
||||
uint64_t& lbid, int& sbid, int& entry);
|
||||
/**
|
||||
* @brief insert a new row id to the key index list
|
||||
*/
|
||||
const int updateIdxRidList(const RID& rid, DataBlock* dataBlock,
|
||||
const int& sbid, const int& entry,
|
||||
IdxRidListPtr* idxRidListPtr);
|
||||
|
||||
const int setParentStatus(uint64_t& pLbid);
|
||||
const int setCurBlkNextPtr(uint64_t& nextLbid, int count);
|
||||
const int initNewBlock(int64_t& lbid, DataBlock* dataBlock, uint64_t& pLbid);
|
||||
const int initNewBlock(DataBlock* dataBlock, uint64_t& pLbid);
|
||||
const int initCurBlock();
|
||||
const int getNextInfoFromArray(IdxRidNextListPtr& nextIdxListPtr);
|
||||
const int getParentInfoFromArray(IdxRidParentListPtr& parentIdxListPtr);
|
||||
const int updateCurCountInArray(int insCnt=1);
|
||||
const int updateParentStatus(uint64_t& childLbid);
|
||||
const int deleteInSub( const RID& rowId) ;
|
||||
const int deleteInBlock(const RID& newRid);
|
||||
const int releaseSegment() ;
|
||||
void setListOid(const OID& listOid)
|
||||
{
|
||||
m_oid = listOid;
|
||||
}
|
||||
const OID getListOid()
|
||||
{
|
||||
return m_oid;
|
||||
}
|
||||
const int insertRowId( uint64_t& curLbid, int& pos, uint64_t& parentLbid);
|
||||
const int setupBlock ( uint64_t& curLbid, int& pos, uint64_t& parentLbid);
|
||||
|
||||
const int updateLastPtrAndParent(const int lastCount);
|
||||
const int updateLastPtr(const int lastCount);
|
||||
const int updateParent();
|
||||
|
||||
/**
|
||||
* @brief private member data
|
||||
*/
|
||||
const int updateHdrSub(const RID& newRid, const uint64_t& key);
|
||||
const int addRidInSub(const RID& newRid,
|
||||
IdxRidListPtr& lastIdxRidListPtr);
|
||||
const int moveRidsToNewSub(FILE* pFile, const RID& oldRid,
|
||||
const RID& newRid,
|
||||
IdxEmptyListEntry* newIdxListEntryPtr);
|
||||
const int updateHdrCount();
|
||||
|
||||
const int setParentStatus(uint64_t& pLbid);
|
||||
const int setCurBlkNextPtr(uint64_t& nextLbid, int count);
|
||||
const int initNewBlock(int64_t& lbid, DataBlock* dataBlock, uint64_t& pLbid);
|
||||
const int initNewBlock(DataBlock* dataBlock, uint64_t& pLbid);
|
||||
const int initCurBlock();
|
||||
const int getNextInfoFromArray(IdxRidNextListPtr& nextIdxListPtr);
|
||||
const int getParentInfoFromArray(IdxRidParentListPtr& parentIdxListPtr);
|
||||
const int updateCurCountInArray(int insCnt = 1);
|
||||
const int updateParentStatus(uint64_t& childLbid);
|
||||
|
||||
const int updateLastPtrAndParent(const int lastCount);
|
||||
const int updateLastPtr(const int lastCount);
|
||||
const int updateParent();
|
||||
|
||||
/**
|
||||
* @brief private member data
|
||||
*/
|
||||
DataBlock m_curBlock; /**@brief the current block buffer */
|
||||
DataBlock m_hdrBlock; /**@brief the header block buffer*/
|
||||
DataBlock m_blockZero; /**@brief 0,0,0 for free manager*/
|
||||
@ -365,39 +429,39 @@ private:
|
||||
uint64_t m_hdrLbid; /**@brief the header block number */
|
||||
int m_hdrSbid; /**@brief the header subblock number */
|
||||
int m_hdrEntry; /**@brief the header entry number */
|
||||
|
||||
|
||||
uint64_t m_lbid; /**@brief the current block number */
|
||||
int m_sbid; /**@brief the current subblock number */
|
||||
int m_entry; /**@brief the current entry number */
|
||||
|
||||
|
||||
uint64_t m_newLbid;
|
||||
int m_newSbid;
|
||||
int m_newEntry;
|
||||
|
||||
|
||||
uint64_t m_parentLbid;
|
||||
int m_parentSbid;
|
||||
int m_parentEntry;
|
||||
|
||||
|
||||
uint64_t m_nextLbid; /**@brief the next block number */
|
||||
int m_nextSbid; /**@brief the next subblock number */
|
||||
int m_nextEntry; /**@brief the next entry number */
|
||||
|
||||
|
||||
uint64_t m_dLbid; /**@brief the next block number */
|
||||
int m_dSbid; /**@brief the next subblock number */
|
||||
int m_dEntry; /**@brief the next entry number */
|
||||
|
||||
int m_dEntry; /**@brief the next entry number */
|
||||
|
||||
FILE* m_pFile; /**@brief file handle for index list */
|
||||
OID m_oid;
|
||||
OID m_oid;
|
||||
int m_llpPos;
|
||||
bool m_useBlock;
|
||||
int m_entryGroup;
|
||||
int m_type;
|
||||
int m_type;
|
||||
int m_segType;
|
||||
int m_curType;
|
||||
int m_nextType;
|
||||
int m_totalbytes;
|
||||
int m_lastFbo;
|
||||
uint64_t m_lastLbid;
|
||||
int m_lastFbo;
|
||||
uint64_t m_lastLbid;
|
||||
FreeMgr m_freemgr;
|
||||
time_t m_startTime; // start time
|
||||
time_t m_endTime; // end time
|
||||
@ -411,7 +475,7 @@ private:
|
||||
IdxRidListArrayPtr m_idxRidListArrayPtr;
|
||||
IdxRidLastListPtr m_lastBLKIdxListPtr;
|
||||
IdxRidListPtr m_lastIdxRidListPtr;
|
||||
|
||||
|
||||
int m_curLevel;
|
||||
int m_curBlkPos;
|
||||
int m_curLevelPos;
|
||||
|
Reference in New Issue
Block a user