mirror of
https://github.com/privacore/open-source-search-engine.git
synced 2025-07-11 02:16:07 -04:00
removed 'dataInPtrs' paramteer to RdbTree::set()
Only TopTree ever set it to true and it only has an effect on save/load which TopTree never does.
This commit is contained in:
2
Rdb.cpp
2
Rdb.cpp
@ -192,7 +192,7 @@ bool Rdb::init(const char *dbname,
|
||||
|
||||
if(m_useTree) {
|
||||
sprintf(m_treeAllocName,"tree-%s",m_dbname);
|
||||
if (!m_tree.set(fixedDataSize, maxTreeNodes, maxTreeMem, false, m_treeAllocName, false, m_dbname, m_ks, m_rdbId)) {
|
||||
if (!m_tree.set(fixedDataSize, maxTreeNodes, maxTreeMem, false, m_treeAllocName, m_dbname, m_ks, m_rdbId)) {
|
||||
log( LOG_ERROR, "db: Failed to set tree." );
|
||||
return false;
|
||||
}
|
||||
|
14
RdbTree.cpp
14
RdbTree.cpp
@ -39,7 +39,6 @@ RdbTree::RdbTree () {
|
||||
m_callback = NULL;
|
||||
m_doBalancing = false;
|
||||
m_ownData = false;
|
||||
m_dataInPtrs = false;
|
||||
m_overhead = 0;
|
||||
m_maxMem = 0;
|
||||
m_allocName = NULL;
|
||||
@ -61,14 +60,13 @@ RdbTree::~RdbTree ( ) {
|
||||
|
||||
|
||||
// "memMax" includes records plus the overhead
|
||||
bool RdbTree::set(int32_t fixedDataSize, int32_t maxNumNodes, int32_t memMax, bool ownData, const char *allocName, bool dataInPtrs, const char *dbname, char keySize, char rdbId) {
|
||||
bool RdbTree::set(int32_t fixedDataSize, int32_t maxNumNodes, int32_t memMax, bool ownData, const char *allocName, const char *dbname, char keySize, char rdbId) {
|
||||
reset();
|
||||
m_fixedDataSize = fixedDataSize;
|
||||
m_doBalancing = true;
|
||||
m_maxMem = memMax;
|
||||
m_ownData = ownData;
|
||||
m_allocName = allocName;
|
||||
m_dataInPtrs = dataInPtrs;
|
||||
m_ks = keySize;
|
||||
|
||||
m_needsSave = false;
|
||||
@ -2309,9 +2307,6 @@ int32_t RdbTree::fastSaveBlock_r ( int fd , int32_t start , int64_t offset ) {
|
||||
br += pwrite ( fd , &m_depth[start] , n , offset ); offset += n ; }
|
||||
if ( m_fixedDataSize == -1 ) {
|
||||
br += pwrite ( fd , &m_sizes[start] , n*4, offset ); offset += n*4; }
|
||||
// if the data is actually stored in the data ptrs, just save those
|
||||
if ( m_dataInPtrs ) {
|
||||
br +=pwrite(fd,&m_data[start],n * 4 , offset ); offset +=n*4;}
|
||||
// bitch on error
|
||||
if ( br != offset - oldOffset ) {
|
||||
log(LOG_WARN, "db: Failed to save tree3 for %s (%" PRId64"!=%" PRId64"): %s.",
|
||||
@ -2320,7 +2315,7 @@ int32_t RdbTree::fastSaveBlock_r ( int fd , int32_t start , int64_t offset ) {
|
||||
}
|
||||
|
||||
// if no data to write then return bytes written this call
|
||||
if ( m_fixedDataSize == 0 || m_dataInPtrs ) return offset - oldOffset ;
|
||||
if ( m_fixedDataSize == 0 ) return offset - oldOffset ;
|
||||
|
||||
// debug count
|
||||
//int32_t count = 0;
|
||||
@ -2541,9 +2536,6 @@ int32_t RdbTree::fastLoadBlock ( BigFile *f, int32_t start, int32_t totalNodes,
|
||||
f->read ( &m_depth[start] , n , offset ); offset += n ; }
|
||||
if ( m_fixedDataSize == -1 ) {
|
||||
f->read ( &m_sizes[start] , n * 4 , offset); offset += n * 4; }
|
||||
// if the data is actually stored in the data ptrs, just save those
|
||||
if ( m_dataInPtrs ) {
|
||||
f->read ( &m_data[start] , n * 4 , offset); offset += n * 4; }
|
||||
// return false on read error
|
||||
if ( g_errno ) {
|
||||
log( LOG_ERROR, "db: Failed to read %s: %s.", f->getFilename(), mstrerror(g_errno) );
|
||||
@ -2593,7 +2585,7 @@ int32_t RdbTree::fastLoadBlock ( BigFile *f, int32_t start, int32_t totalNodes,
|
||||
}
|
||||
}
|
||||
// bail now if we can
|
||||
if ( m_fixedDataSize == 0 || m_dataInPtrs ) return offset - oldOffset ;
|
||||
if ( m_fixedDataSize == 0 ) return offset - oldOffset ;
|
||||
// how much should we read?
|
||||
int32_t bufSize = 0;
|
||||
if ( m_fixedDataSize == -1 ) {
|
||||
|
@ -56,7 +56,6 @@ public:
|
||||
bool set(int32_t fixedDataSize, int32_t maxNumNodes,
|
||||
int32_t maxMem, bool ownData,
|
||||
const char *allocName,
|
||||
bool dataInPtrs = false,
|
||||
const char *dbname = NULL, char keySize = 12,
|
||||
char rdbId = -1);
|
||||
|
||||
|
@ -178,7 +178,7 @@ bool SpiderColl::load ( ) {
|
||||
// test runs...
|
||||
// . try going to 20M now since we hit it again...
|
||||
// . start off at just 10 nodes since we grow dynamically now
|
||||
if (!m_waitingTree.set(0, 10, -1, true, "waittree2", false, "waitingtree", sizeof(key96_t))) {
|
||||
if (!m_waitingTree.set(0, 10, -1, true, "waittree2", "waitingtree", sizeof(key96_t))) {
|
||||
return false;
|
||||
}
|
||||
m_waitingTreeKeyValid = false;
|
||||
@ -1761,7 +1761,7 @@ void SpiderColl::populateDoledbFromWaitingTree ( ) { // bool reentry ) {
|
||||
int32_t maxWinners = (int32_t)MAX_WINNER_NODES;
|
||||
|
||||
if ( m_winnerTree.getNumNodes() == 0 &&
|
||||
!m_winnerTree.set(-1, maxWinners, maxWinners * MAX_BEST_REQUEST_SIZE, true, "wintree", false, NULL, sizeof(key192_t), -1)) {
|
||||
!m_winnerTree.set(-1, maxWinners, maxWinners * MAX_BEST_REQUEST_SIZE, true, "wintree", NULL, sizeof(key192_t), -1)) {
|
||||
m_isPopulatingDoledb = false;
|
||||
log("spider: winntree set: %s",mstrerror(g_errno));
|
||||
logTrace( g_conf.m_logTraceSpider, "END, after winnerTree.set" );
|
||||
|
@ -195,7 +195,7 @@ bool TopTree::setNumNodes ( int32_t docsWanted , bool doSiteClustering ) {
|
||||
// . "dataInPtrs" mean we have a 4 byte data that we store in the
|
||||
// "dataPtr". this is somewhat of a hack, but we need a place to
|
||||
// store the node number of this node in this top tree. see below.
|
||||
if (!m_t2.set(4, m_numNodes, -1, false, "tree-toptree", true, NULL, 12)) {
|
||||
if (!m_t2.set(4, m_numNodes, -1, false, "tree-toptree", NULL, 12)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
2
main.cpp
2
main.cpp
@ -3013,7 +3013,7 @@ void dumpTitledb (const char *coll, int32_t startFileNum, int32_t numFiles, bool
|
||||
|
||||
void dumpWaitingTree (const char *coll ) {
|
||||
RdbTree wt;
|
||||
if (!wt.set(0,-1,20000000,true,"waittree2", false,"waitingtree",sizeof(key96_t))) {
|
||||
if (!wt.set(0,-1,20000000,true,"waittree2", "waitingtree",sizeof(key96_t))) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user