#include "ICommand.h" #include namespace DB { namespace ErrorCodes { extern const int BAD_ARGUMENTS; } class CommandListDisks final : public ICommand { public: CommandListDisks() { command_name = "list-disks"; description = "List disks names"; usage = "list-disks [OPTION]"; } void processOptions( Poco::Util::LayeredConfiguration &, po::variables_map &) const override {} void execute( const std::vector & command_arguments, DB::ContextMutablePtr & global_context, Poco::Util::LayeredConfiguration &) override { if (!command_arguments.empty()) { printHelpMessage(); throw DB::Exception(DB::ErrorCodes::BAD_ARGUMENTS, "Bad Arguments"); } for (const auto & [disk_name, _] : global_context->getDisksMap()) std::cout << disk_name << '\n'; } }; } std::unique_ptr makeCommandListDisks() { return std::make_unique(); }