def METHOD_NAME():
    def rollback():
        with sd_lock:
            saveddata_session.rollback()
    print("Creating database in memory")
    from os.path import realpath, join, dirname, abspath
    debug = False
    gamedataCache = True
    saveddataCache = True
    gamedata_version = ""
    gamedata_connectionstring = 'sqlite:///' + realpath(join(dirname(abspath(str(__file__))), "..", "eve.db"))
    saveddata_connectionstring = 'sqlite:///:memory:'
    class ReadOnlyException(Exception):
        pass
    if callable(gamedata_connectionstring):
        gamedata_engine = create_engine("sqlite://", creator=gamedata_connectionstring, echo=debug)
    else:
        gamedata_engine = create_engine(gamedata_connectionstring, echo=debug)
    gamedata_meta = MetaData()
    gamedata_meta.bind = gamedata_engine
    gamedata_session = sessionmaker(bind=gamedata_engine, autoflush=False, expire_on_commit=False)()
    # This should be moved elsewhere, maybe as an actual query. Current, without try-except, it breaks when making a new
    # game db because we haven't reached gamedata_meta.create_all()
    try:
        gamedata_version = gamedata_session.execute(
            "SELECT `field_value` FROM `metadata` WHERE `field_name` LIKE 'client_build'"
        ).fetchone()[0]
    except (KeyboardInterrupt, SystemExit):
        raise
    except Exception as e:
        print("Missing gamedata version.")
        gamedata_version = None
    if saveddata_connectionstring is not None:
        if callable(saveddata_connectionstring):
            saveddata_engine = create_engine(creator=saveddata_connectionstring, echo=debug)
        else:
            saveddata_engine = create_engine(saveddata_connectionstring, echo=debug)
        saveddata_meta = MetaData()
        saveddata_meta.bind = saveddata_engine
        saveddata_session = sessionmaker(bind=saveddata_engine, autoflush=False, expire_on_commit=False)()
    else:
        saveddata_meta = None
    # Lock controlling any changes introduced to session
    sd_lock = threading.Lock()
    # Import all the definitions for all our database stuff
    # noinspection PyPep8
    #from eos.db.gamedata import alphaClones, attribute, category, effect, group, icon, item, marketGroup, metaData, metaGroup, queries, traits, unit
    # noinspection PyPep8
    #from eos.db.saveddata import booster, cargo, character, crest, damagePattern, databaseRepair, drone, fighter, fit, implant, implantSet, miscData, module, override, price, queries, skill, targetProfile, user
    # If using in memory saveddata, you'll want to reflect it so the data structure is good.
    if saveddata_connectionstring == "sqlite:///:memory:":
        saveddata_meta.create_all()
    # Output debug info to help us troubleshoot Travis
    print(saveddata_engine)
    print(gamedata_engine)
    helper = {
        #'config': eos.config,
        'gamedata_session'    : gamedata_session,
        'saveddata_session'    : saveddata_session,
    }
    return helper