This query does not show realtime metrics:

```
INSERT INTO wikistat WITH
    parseDateTimeBestEffort(extract(toLowCardinality(_path), 'pageviews-([\\d\\-]+)\\.gz$')) AS time,
    splitByChar(' ', line) AS values,
    splitByChar('.', values[1]) AS projects
SELECT
    time,
    projects[1] AS project,
    projects[2] AS subproject,
    values[2] AS path,
    CAST(values[3], 'UInt64') AS hits
FROM s3('https://....s3.eu-central-1.amazonaws.com/wikistat/original/*.gz', '...', '...', LineAsString, auto)
WHERE length(values) >= 3
```

Although this query does:

```
WITH
    parseDateTimeBestEffort(extract(toLowCardinality(_path), 'pageviews-([\\d\\-]+)\\.gz$')) AS time,
    splitByChar(' ', line) AS values,
    splitByChar('.', values[1]) AS projects
SELECT
    time,
    projects[1] AS project,
    projects[2] AS subproject,
    values[2] AS path,
    CAST(values[3], 'UInt64') AS hits
FROM s3('https://....s3.eu-central-1.amazonaws.com/wikistat/original/*.gz', '...', '...', LineAsString, auto)
WHERE length(values) >= 3
```

I also was not able to cancel the first query.
{
        const size_t first_glob = for_match.find_first_of("*?{");
        const size_t end_of_path_without_globs = for_match.substr(0, first_glob).rfind('/');
        const String suffix_with_globs = for_match.substr(end_of_path_without_globs);   
        const String prefix_without_globs = path_for_ls + for_match.substr(1, end_of_path_without_globs); 
        const size_t next_slash = suffix_with_globs.find('/', 1);
        re2::RE2 matcher(makeRegexpPatternFromGlobs(suffix_with_globs.substr(0, next_slash)));
        HDFSFileInfo ls;
        ls.file_info = hdfsListDirectory(fs.get(), prefix_without_globs.data(), &ls.length);
        if (ls.file_info == nullptr && errno != ENOENT) 
        {
            
            throw Exception(
                ErrorCodes::ACCESS_DENIED, "Cannot list directory {}: {}", prefix_without_globs, String(hdfsGetLastError()));
        }
        Strings result;
        if (!ls.file_info && ls.length > 0)
            throw Exception(ErrorCodes::LOGICAL_ERROR, "file_info shouldn't be null");
        for (int i = 0; i < ls.length; ++i)
        {
            const String full_path = String(ls.file_info[i].mName);
            const size_t last_slash = full_path.rfind('/');
            const String file_name = full_path.substr(last_slash);
            const bool looking_for_directory = next_slash != std::string::npos;
            const bool is_directory = ls.file_info[i].mKind == 'D';
            
            if (!is_directory && !looking_for_directory)
            {