When user requested single column from the table we still calculating all of them. Calculation of some columns is quite expensive (need to do stat calls / read files etc). 
columns_[i++]->insert(part->getIndexSizeInBytes());
        columns_[i++]->insert(part->getIndexSizeInAllocatedBytes());
        columns_[i++]->insert(part->is_frozen.load(std::memory_order_relaxed));
        columns_[i++]->insert(info.database);
        columns_[i++]->insert(info.table);
        columns_[i++]->insert(info.engine);
        if (part->isStoredOnDisk())
        {
            columns_[i++]->insert(part->volume->getDisk()->getName());
            columns_[i++]->insert(part->getFullPath());
        }
        else
        {
            columns_[i++]->insertDefault();
            columns_[i++]->insertDefault();
        }
        MinimalisticDataPartChecksums helper;
        helper.computeTotalChecksums(part->checksums);
        auto checksum = helper.hash_of_all_files;
        columns_[i++]->insert(getHexUIntLowercase(checksum.first) + getHexUIntLowercase(checksum.second));
        checksum = helper.hash_of_uncompressed_files;
        columns_[i++]->insert(getHexUIntLowercase(checksum.first) + getHexUIntLowercase(checksum.second));
        checksum = helper.uncompressed_hash_of_compressed_files;
        columns_[i++]->insert(getHexUIntLowercase(checksum.first) + getHexUIntLowercase(checksum.second));
        
        {
            columns_[i++]->insert(static_cast<UInt32>(part->ttl_infos.table_ttl.min));
            columns_[i++]->insert(static_cast<UInt32>(part->ttl_infos.table_ttl.max));
        }
        auto add_ttl_info_map = [&](const TTLInfoMap & ttl_info_map)