summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2015-01-30 01:08:08 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2015-01-30 01:08:08 +0100
commite7743002a75d83e24de94f712fac0f0b61ab0ca3 (patch)
tree3f51a511218267d27e4ea40bc73b94aa4f695c41
parentde00275898e5cf5f9bbc829f7e4059b7afa02e2a (diff)
downloadsink-e7743002a75d83e24de94f712fac0f0b61ab0ca3.tar.gz
sink-e7743002a75d83e24de94f712fac0f0b61ab0ca3.zip
Open the database readonly in readonly mode.
-rw-r--r--common/storage_lmdb.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/common/storage_lmdb.cpp b/common/storage_lmdb.cpp
index 3f39192..a2a95c3 100644
--- a/common/storage_lmdb.cpp
+++ b/common/storage_lmdb.cpp
@@ -88,7 +88,7 @@ Storage::Private::Private(const QString &s, const QString &n, AccessMode m, bool
88 // TODO: handle error 88 // TODO: handle error
89 std::cerr << "mdb_env_create: " << rc << " " << mdb_strerror(rc) << std::endl; 89 std::cerr << "mdb_env_create: " << rc << " " << mdb_strerror(rc) << std::endl;
90 } else { 90 } else {
91 if ((rc = mdb_env_open(env, fullPath.toStdString().data(), 0, 0664))) { 91 if ((rc = mdb_env_open(env, fullPath.toStdString().data(), mode == ReadOnly ? MDB_RDONLY : 0 , 0664))) {
92 std::cerr << "mdb_env_open: " << rc << " " << mdb_strerror(rc) << std::endl; 92 std::cerr << "mdb_env_open: " << rc << " " << mdb_strerror(rc) << std::endl;
93 mdb_env_close(env); 93 mdb_env_close(env);
94 env = 0; 94 env = 0;
@@ -157,12 +157,14 @@ bool Storage::startTransaction(AccessMode type)
157 } 157 }
158 158
159 if (d->firstOpen && requestedRead) { 159 if (d->firstOpen && requestedRead) {
160 //This is only required for named databases
161
160 //A write transaction is at least required the first time 162 //A write transaction is at least required the first time
161 mdb_txn_begin(d->env, nullptr, 0, &d->transaction); 163 // mdb_txn_begin(d->env, nullptr, 0, &d->transaction);
162 //Open the database 164 //Open the database
163 //With this we could open multiple named databases if we wanted to 165 //With this we could open multiple named databases if we wanted to
164 mdb_dbi_open(d->transaction, nullptr, 0, &d->dbi); 166 // mdb_dbi_open(d->transaction, nullptr, 0, &d->dbi);
165 mdb_txn_abort(d->transaction); 167 // mdb_txn_abort(d->transaction);
166 } 168 }
167 169
168 int rc; 170 int rc;