diff options
-rw-r--r-- | src/storage/ngram_kyotodb.cpp | 20 | ||||
-rw-r--r-- | src/storage/phrase_large_table3_kyotodb.cpp | 31 |
2 files changed, 2 insertions, 49 deletions
diff --git a/src/storage/ngram_kyotodb.cpp b/src/storage/ngram_kyotodb.cpp index 60f7997..2bc297f 100644 --- a/src/storage/ngram_kyotodb.cpp +++ b/src/storage/ngram_kyotodb.cpp @@ -50,26 +50,6 @@ void Bigram::reset(){ } } -class CopyVisitor : public DB::Visitor { -private: - BasicDB * m_db; -public: - CopyVisitor(BasicDB * db) { - m_db = db; - } - - virtual const char* visit_full(const char* kbuf, size_t ksiz, - const char* vbuf, size_t vsiz, size_t* sp) { - m_db->set(kbuf, ksiz, vbuf, vsiz); - return NOP; - } - - virtual const char* visit_empty(const char* kbuf, size_t ksiz, size_t* sp) { - /* assume no empty record. */ - assert (FALSE); - return NOP; - } -}; /* Use ProtoHashDB for load_db/save_db methods. */ bool Bigram::load_db(const char * dbfile){ diff --git a/src/storage/phrase_large_table3_kyotodb.cpp b/src/storage/phrase_large_table3_kyotodb.cpp index e78f08e..66ac5f4 100644 --- a/src/storage/phrase_large_table3_kyotodb.cpp +++ b/src/storage/phrase_large_table3_kyotodb.cpp @@ -67,33 +67,6 @@ bool PhraseLargeTable3::attach(const char * dbfile, guint32 flags) { return m_db->open(dbfile, mode); } - -/* Use DB::visitor. */ - -/* Kyoto Cabinet requires non-NULL pointer for zero length value. */ -static const char * empty_vbuf = (char *)UINTPTR_MAX; - -/* Use CopyVisitor2 to avoid linking problems. */ -class CopyVisitor2 : public DB::Visitor { -private: - BasicDB * m_db; -public: - CopyVisitor2(BasicDB * db) { - m_db = db; - } - - virtual const char* visit_full(const char* kbuf, size_t ksiz, - const char* vbuf, size_t vsiz, size_t* sp) { - m_db->set(kbuf, ksiz, vbuf, vsiz); - return NOP; - } - - virtual const char* visit_empty(const char* kbuf, size_t ksiz, size_t* sp) { - m_db->set(kbuf, ksiz, empty_vbuf, 0); - return NOP; - } -}; - /* load_db/store_db method */ /* use in-memory DBM here, for better performance. */ bool PhraseLargeTable3::load_db(const char * filename) { @@ -110,7 +83,7 @@ bool PhraseLargeTable3::load_db(const char * filename) { if (!tmp_db->open(filename, BasicDB::OREADER)) return false; - CopyVisitor2 visitor(m_db); + CopyVisitor visitor(m_db); tmp_db->iterate(&visitor, false); tmp_db->close(); @@ -130,7 +103,7 @@ bool PhraseLargeTable3::store_db(const char * new_filename){ if (!tmp_db->open(new_filename, BasicDB::OWRITER|BasicDB::OCREATE)) return false; - CopyVisitor2 visitor(tmp_db); + CopyVisitor visitor(tmp_db); m_db->iterate(&visitor, false); tmp_db->synchronize(); |