|
@@ -254,7 +254,7 @@ LSUP_store_setup(char **path/*, bool clear*/) // TODO clear
|
|
|
|
|
|
|
|
|
LSUP_MDBStore *
|
|
|
-LSUP_store_new(const char *path, LSUP_Buffer *default_ctx)
|
|
|
+LSUP_store_new(const char *path, const LSUP_Buffer *default_ctx)
|
|
|
{
|
|
|
int rc;
|
|
|
LSUP_MDBStore *store;
|
|
@@ -272,14 +272,8 @@ LSUP_store_new(const char *path, LSUP_Buffer *default_ctx)
|
|
|
// Set map size.
|
|
|
size_t mapsize;
|
|
|
char *env_mapsize = getenv("LSUP_MDB_MAPSIZE");
|
|
|
-
|
|
|
- if (env_mapsize == NULL) {
|
|
|
- mapsize = DEFAULT_MAPSIZE;
|
|
|
- } else {
|
|
|
- sscanf(env_mapsize, "%lu", &mapsize);
|
|
|
- }
|
|
|
- TRACE("mapsize rc: %d", rc);
|
|
|
- if(rc != MDB_SUCCESS) return NULL;
|
|
|
+ if (env_mapsize == NULL) mapsize = DEFAULT_MAPSIZE;
|
|
|
+ else sscanf(env_mapsize, "%lu", &mapsize);
|
|
|
|
|
|
rc = mdb_env_set_maxdbs(store->env, N_DB);
|
|
|
if(rc != MDB_SUCCESS) return NULL;
|
|
@@ -308,6 +302,23 @@ LSUP_store_new(const char *path, LSUP_Buffer *default_ctx)
|
|
|
}
|
|
|
|
|
|
|
|
|
+void
|
|
|
+LSUP_store_free(LSUP_MDBStore *store)
|
|
|
+{
|
|
|
+ if (store->state & LSSTORE_OPEN) {
|
|
|
+ TRACE(STR, "Closing MDB env.\n");
|
|
|
+ mdb_env_close(store->env);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (store->default_ctx) {
|
|
|
+ LSUP_buffer_done(store->default_ctx);
|
|
|
+ free(store->default_ctx);
|
|
|
+ }
|
|
|
+
|
|
|
+ free(store);
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
LSUP_rc
|
|
|
LSUP_store_stats(LSUP_MDBStore *store)
|
|
|
{
|
|
@@ -346,10 +357,9 @@ LSUP_store_add(
|
|
|
// Serialize and hash.
|
|
|
LSUP_Key ck = NULL_KEY;
|
|
|
|
|
|
- // Assign default store context if existing and ctx is NULL.
|
|
|
- if (store->default_ctx && !sc) sc = store->default_ctx;
|
|
|
+ if (store->default_ctx != NULL) {
|
|
|
+ if (sc == NULL) sc = store->default_ctx;
|
|
|
|
|
|
- if (sc) {
|
|
|
ck = LSUP_sterm_to_key(sc);
|
|
|
|
|
|
// Insert t:st for context.
|
|
@@ -615,20 +625,6 @@ _remove_abort:
|
|
|
}
|
|
|
|
|
|
|
|
|
-void
|
|
|
-LSUP_store_free(LSUP_MDBStore *store)
|
|
|
-{
|
|
|
- if (store->state & LSSTORE_OPEN) {
|
|
|
- TRACE(STR, "Closing MDB env.\n");
|
|
|
- mdb_env_close(store->env);
|
|
|
- }
|
|
|
-
|
|
|
- if (store->default_ctx != NULL) LSUP_buffer_done(store->default_ctx);
|
|
|
-
|
|
|
- free(store);
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
/* * * Static functions. * * */
|
|
|
|
|
|
/* TODO
|