**Describe the situation**

The author implemented it but enabled only for DiskS3.
CC @excitoon 
{
}
String StorageS3Source::KeysIterator::next()
{
    return pimpl->next();
}
Block StorageS3Source::getHeader(Block sample_block, bool with_path_column, bool with_file_column)
{
    if (with_path_column)
        sample_block.insert(
            {DataTypeLowCardinality{std::make_shared<DataTypeString>()}.createColumn(),
             std::make_shared<DataTypeLowCardinality>(std::make_shared<DataTypeString>()),
             "_path"});
    if (with_file_column)
        sample_block.insert(
            {DataTypeLowCardinality{std::make_shared<DataTypeString>()}.createColumn(),
             std::make_shared<DataTypeLowCardinality>(std::make_shared<DataTypeString>()),
             "_file"});
    return sample_block;
}
StorageS3Source::StorageS3Source(
    bool need_path,
    bool need_file,
    const String & format_,