def get_database()

in evalbench/databases/__init__.py [0:0]


def get_database(db_config, db_name) -> DB:
    # if db_name is provided:
    #   - It will override the provided default database_name
    #   - This is useful as the default db may be "postgres" or a default only used for setup
    if db_name:
        db_config["database_name"] = db_name

    if db_config["db_type"] == "postgres":
        return PGDB(db_config)
    if db_config["db_type"] == "mysql":
        return MySQLDB(db_config)
    if db_config["db_type"] == "sqlserver":
        return SQLServerDB(db_config)
    if db_config["db_type"] == "sqlite":
        return SQLiteDB(db_config)
    if db_config["db_type"] == "bigquery":
        return BQDB(db_config)
    if db_config["db_type"] == "alloydb":
        return AlloyDB(db_config)
    raise ValueError("DB Type not Supported")