#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <lmdb.h>

#include <logger.h>
#include <config.h>
#include <constants.h>

void
database_setup(MDB_env **mdb_env, config_t *config)
{
    int err;
    
    if(mdb_env_create(mdb_env) != 0)
    {
        LOGGER_CRIT("Can't create mdb handle");
        exit(1);
    }

    if((err = mdb_env_set_maxdbs(*mdb_env, MDB_MAXDBS)) != 0)
    {
        LOGGER_CRIT("mdb_env_set_maxdbs error %s\n", mdb_strerror(err));
        exit(1);
    }

    if(mdb_env_open(*mdb_env, config->database, MDB_NOSUBDIR, 0700) != 0)
    {
        LOGGER_CRIT("Can't open mdb file");
        exit(1);
    }
}