diff options
author | Peng Wu <alexepico@gmail.com> | 2016-02-22 10:49:34 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2016-02-22 10:49:34 +0800 |
commit | 520dc8d10941ef08bf1ffaa24d2325182f4b6d5f (patch) | |
tree | 165acab80946ac61139f03e1226822af30f8f1ba /src | |
parent | aa7c854dbe00e9ad2cb42db54c22130d59b48409 (diff) | |
download | libpinyin-520dc8d10941ef08bf1ffaa24d2325182f4b6d5f.tar.gz libpinyin-520dc8d10941ef08bf1ffaa24d2325182f4b6d5f.tar.xz libpinyin-520dc8d10941ef08bf1ffaa24d2325182f4b6d5f.zip |
fixes PhraseLargeTable3 constructors
Diffstat (limited to 'src')
-rw-r--r-- | src/storage/phrase_large_table3_bdb.cpp | 12 | ||||
-rw-r--r-- | src/storage/phrase_large_table3_kyotodb.cpp | 7 |
2 files changed, 15 insertions, 4 deletions
diff --git a/src/storage/phrase_large_table3_bdb.cpp b/src/storage/phrase_large_table3_bdb.cpp index 492b14e..dcbff96 100644 --- a/src/storage/phrase_large_table3_bdb.cpp +++ b/src/storage/phrase_large_table3_bdb.cpp @@ -26,8 +26,16 @@ namespace pinyin{ PhraseLargeTable3::PhraseLargeTable3() { + /* create in-memory db. */ m_db = NULL; - m_entry = NULL; + int ret = db_create(&m_db, NULL, 0); + assert(0 == ret); + + ret = m_db->open(m_db, NULL, NULL, NULL, + DB_BTREE, DB_CREATE, 0600); + assert(0 == ret); + + m_entry = new PhraseTableEntry; } void PhraseLargeTable3::reset() { @@ -76,7 +84,7 @@ bool PhraseLargeTable3::attach(const char * dbfile, guint32 flags) { bool PhraseLargeTable3::load_db(const char * filename) { reset(); - /* create in memory db. */ + /* create in-memory db. */ int ret = db_create(&m_db, NULL, 0); assert(0 == ret); diff --git a/src/storage/phrase_large_table3_kyotodb.cpp b/src/storage/phrase_large_table3_kyotodb.cpp index 5327b2e..6241c74 100644 --- a/src/storage/phrase_large_table3_kyotodb.cpp +++ b/src/storage/phrase_large_table3_kyotodb.cpp @@ -30,8 +30,11 @@ using namespace kyotocabinet; namespace pinyin{ PhraseLargeTable3::PhraseLargeTable3() { - m_db = NULL; - m_entry = NULL; + /* create in-memory db. */ + m_db = new ProtoTreeDB; + assert(m_db->open("-", BasicDB::OREADER|BasicDB::OWRITER|BasicDB::OCREATE)); + + m_entry = new PhraseTableEntry; } void PhraseLargeTable3::reset() { |