def _prepare_db_queue_for_dml()

in evalbench/evaluator/db_manager.py [0:0]


def _prepare_db_queue_for_dml(core_db: DB, db_name, db_config, setup_config, num_dbs):
    """For DML, use the same single DB with a user that has only DQL / DML access."""
    db_queue = Queue[DB]()
    dml_db_config = deepcopy(db_config)
    if setup_config:
        setup_scripts, data = _get_setup_values(
            setup_config, db_name, db_config.get("db_type")
        )
        core_db.set_setup_instructions(setup_scripts, data)
        core_db.resetup_database(False, True)
        dml_db_config["user_name"] = core_db.get_dml_user()
        dml_db_config["password"] = core_db.get_tmp_user_password()
    singular_db = get_database(dml_db_config, db_name)
    for _ in range(num_dbs):
        db_queue.put(singular_db)
    return db_queue