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 .
size_t index_mark_cache_size = config().getUInt64("index_mark_cache_size", 0);
    if (index_mark_cache_size)
        global_context->setIndexMarkCache(index_mark_cache_size);
    
    size_t mmap_cache_size = config().getUInt64("mmap_cache_size", 1000);   
    if (mmap_cache_size)
        global_context->setMMappedFileCache(mmap_cache_size);
    
    global_context->setDefaultProfiles(config());
    
    DatabaseCatalog::instance().initializeAndLoadTemporaryDatabase();
    /** Init dummy default DB
      * NOTE: We force using isolated default database to avoid conflicts with default database from server environment
      * Otherwise, metadata of temporary File(format, EXPLICIT_PATH) tables will pollute metadata/ directory;
      *  if such tables will not be dropped, clickhouse-server will not be able to load them due to security reasons.
      */
    std::string default_database = config().getString("default_database", "_local");
    DatabaseCatalog::instance().attachDatabase(default_database, std::make_shared<DatabaseMemory>(default_database, global_context));
    global_context->setCurrentDatabase(default_database);
    applyCmdOptions(global_context);
    bool enable_objects_loader = false;
    if (config().has("path"))
    {
        String path = global_context->getPath();
        
        status.emplace(fs::path(path) / "status", StatusFile::write_full_info);
        LOG_DEBUG(log, "Loading user defined objects from {}", path);
        Poco::File(path + "user_defined/").createDirectories();
        UserDefinedSQLObjectsLoader::instance().loadObjects(global_context);