summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2016-02-22 10:49:34 +0800
committerPeng Wu <alexepico@gmail.com>2016-02-22 10:49:34 +0800
commit520dc8d10941ef08bf1ffaa24d2325182f4b6d5f (patch)
tree165acab80946ac61139f03e1226822af30f8f1ba
parentaa7c854dbe00e9ad2cb42db54c22130d59b48409 (diff)
downloadlibpinyin-520dc8d10941ef08bf1ffaa24d2325182f4b6d5f.tar.gz
libpinyin-520dc8d10941ef08bf1ffaa24d2325182f4b6d5f.tar.xz
libpinyin-520dc8d10941ef08bf1ffaa24d2325182f4b6d5f.zip
fixes PhraseLargeTable3 constructors
-rw-r--r--src/storage/phrase_large_table3_bdb.cpp12
-rw-r--r--src/storage/phrase_large_table3_kyotodb.cpp7
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() {