From fdfc41673e7addebadcdf5d6d1659ba1d3084fa2 Mon Sep 17 00:00:00 2001 From: Peter van Dijk Date: Wed, 20 Nov 2019 14:08:42 +0100 Subject: [PATCH] take lmdb change from 5d02265785d3767ffb954b213ba698c3b73d5f1c --- ext/lmdb-safe/lmdb-safe.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ext/lmdb-safe/lmdb-safe.cc b/ext/lmdb-safe/lmdb-safe.cc index 7397cd3d44..f4874261f6 100644 --- a/ext/lmdb-safe/lmdb-safe.cc +++ b/ext/lmdb-safe/lmdb-safe.cc @@ -26,8 +26,10 @@ MDBDbi::MDBDbi(MDB_env* env, MDB_txn* txn, const string_view dbname, int flags) MDBEnv::MDBEnv(const char* fname, int flags, int mode) { - mdb_env_create(&d_env); - if(mdb_env_set_mapsize(d_env, 16ULL*4096*244140ULL)) // 4GB + mdb_env_create(&d_env); + uint64_t mapsizeMB = (sizeof(long)==4) ? 100 : 16000; + // on 32 bit platforms, there is just no room for more + if(mdb_env_set_mapsize(d_env, mapsizeMB * 1048576)) throw std::runtime_error("setting map size"); /* Various other options may also need to be set before opening the handle, e.g. mdb_env_set_mapsize(), mdb_env_set_maxreaders(), mdb_env_set_maxdbs(), -- 2.47.2