I am unable to start the Clickhouse-local with --config-file option , However clickhouse-server is running with same configuration xml files.

I am getting below error :
<img width="1247" alt="image" src="https://user-images.githubusercontent.com/86018844/179818457-c75ab326-7169-4f4e-9cbb-3aa3b08c77e8.png">

After debugging , It seems that Clickhouse-local is searching for "<users_config>" in config() and if not , setting the user_config_path to config.xml. Since config.xml doesn't have any user related storage info, throwing error.
https://github.com/ClickHouse/ClickHouse/blob/master/programs/local/LocalServer.cpp#L328

Adding <users_config> in config.xml loaded the user configuration successfully , However it fails with default database exists error. Since Clickhouse-local already creates default database as part of DatabaseMemory and try to create database again here.
https://github.com/ClickHouse/ClickHouse/blob/master/src/Interpreters/loadMetadata.cpp#L89
<img width="1247" alt="image" src="https://user-images.githubusercontent.com/86018844/179818409-8e72eea4-ed19-4187-b0a6-45a014e2e7a5.png">


PS: , In clickhouse-server, CH automatically searches for user.xml in same path as in config.xml. There is no constraint with <users_config> tag .
|| config().has("logger.level")
                    || config().has("log-level")
                    || config().has("send_logs_level")
                    || config().has("logger.log"));
    auto level = config().getString("log-level", "trace");
    if (config().has("server_logs_file"))
    {
        auto poco_logs_level = Poco::Logger::parseLevel(level);
        Poco::Logger::root().setLevel(poco_logs_level);
        Poco::Logger::root().setChannel(Poco::AutoPtr<Poco::SimpleFileChannel>(new Poco::SimpleFileChannel(server_logs_file)));
        logging_initialized = true;
    }
    else if (logging || is_interactive)
    {
        config().setString("logger", "logger");
        auto log_level_default = is_interactive && !logging ? "none" : level;
        config().setString("logger.level", config().getString("log-level", config().getString("send_logs_level", log_level_default)));
        buildLoggers(config(), logger(), "clickhouse-local");
        logging_initialized = true;
    }
    else
    {
        Poco::Logger::root().setLevel("none");
        Poco::Logger::root().setChannel(Poco::AutoPtr<Poco::NullChannel>(new Poco::NullChannel()));
        logging_initialized = false;
    }
    shared_context = Context::createShared();
    global_context = Context::createGlobal(shared_context.get());
    global_context->makeGlobalContext();
    global_context->setApplicationType(Context::ApplicationType::LOCAL);