diff options
-rw-r--r-- | src/storage/chewing_large_table2_bdb.cpp | 20 | ||||
-rw-r--r-- | src/storage/phrase_large_table3_bdb.cpp | 20 |
2 files changed, 2 insertions, 38 deletions
diff --git a/src/storage/chewing_large_table2_bdb.cpp b/src/storage/chewing_large_table2_bdb.cpp index 10b5663..4813bff 100644 --- a/src/storage/chewing_large_table2_bdb.cpp +++ b/src/storage/chewing_large_table2_bdb.cpp @@ -386,24 +386,8 @@ int ChewingLargeTable2::remove_index_internal(int phrase_length, } /* mask out method */ -/* assume it is in-memory dbm. */ bool ChewingLargeTable2::mask_out(phrase_token_t mask, phrase_token_t value) { - /* use copy and sweep algorithm here. */ - DB * tmp_db = NULL; - - int ret = db_create(&tmp_db, NULL, 0); - assert(0 == ret); - - if (NULL == tmp_db) - return false; - - /* create in memory db. */ - ret = tmp_db->open(tmp_db, NULL, NULL, NULL, - DB_BTREE, DB_CREATE, 0600); - if (ret != 0) - return false; - DBC * cursorp = NULL; DBT db_key, db_data; @@ -435,7 +419,7 @@ bool ChewingLargeTable2::mask_out(phrase_token_t mask, memset(&db_data, 0, sizeof(DBT)); \ db_data.data = entry->m_chunk.begin(); \ db_data.size = entry->m_chunk.size(); \ - int ret = tmp_db->put(tmp_db, NULL, &db_key, &db_data, 0); \ + int ret = cursorp->put(cursorp, &db_key, &db_data, 0); \ assert(ret == 0); \ break; \ } @@ -471,9 +455,7 @@ bool ChewingLargeTable2::mask_out(phrase_token_t mask, cursorp->c_close(cursorp); m_db->sync(m_db, 0); - m_db->close(m_db, 0); - m_db = tmp_db; return true; } diff --git a/src/storage/phrase_large_table3_bdb.cpp b/src/storage/phrase_large_table3_bdb.cpp index a064850..cbcd40f 100644 --- a/src/storage/phrase_large_table3_bdb.cpp +++ b/src/storage/phrase_large_table3_bdb.cpp @@ -274,24 +274,8 @@ int PhraseLargeTable3::remove_index(int phrase_length, } /* mask out method */ -/* assume it is in-memory dbm. */ bool PhraseLargeTable3::mask_out(phrase_token_t mask, phrase_token_t value) { - /* use copy and sweep algorithm here. */ - DB * tmp_db = NULL; - - int ret = db_create(&tmp_db, NULL, 0); - assert(0 == ret); - - if (NULL == tmp_db) - return false; - - /* create in memory db. */ - ret = tmp_db->open(tmp_db, NULL, NULL, NULL, - DB_BTREE, DB_CREATE, 0600); - if (ret != 0) - return false; - PhraseTableEntry entry; DBC * cursorp = NULL; @@ -316,7 +300,7 @@ bool PhraseLargeTable3::mask_out(phrase_token_t mask, memset(&db_data, 0, sizeof(DBT)); db_data.data = entry.m_chunk.begin(); db_data.size = entry.m_chunk.size(); - int ret = tmp_db->put(tmp_db, NULL, &db_key, &db_data, 0); + int ret = cursorp->put(cursorp, &db_key, &db_data, 0); assert(ret == 0); } assert(ret == DB_NOTFOUND); @@ -326,9 +310,7 @@ bool PhraseLargeTable3::mask_out(phrase_token_t mask, cursorp->c_close(cursorp); m_db->sync(m_db, 0); - m_db->close(m_db, 0); - m_db = tmp_db; return true; } |